一種會(huì)話的管理方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開(kāi)了一種會(huì)話的管理方法及系統(tǒng),該方法包括:預(yù)先分別使用紅黑樹(shù)和哈希表組織多個(gè)會(huì)話,其中,紅黑樹(shù)的每個(gè)節(jié)點(diǎn)包括關(guān)鍵字及節(jié)點(diǎn)值,關(guān)鍵字為超時(shí)時(shí)間,節(jié)點(diǎn)值為該超時(shí)時(shí)間所對(duì)應(yīng)的所有會(huì)話名稱的集合;哈希表的每一項(xiàng)包括鍵對(duì)象和值對(duì)象,且鍵對(duì)象為會(huì)話名稱,值對(duì)象包括超時(shí)時(shí)間和會(huì)話信息;在紅黑樹(shù)中以超時(shí)時(shí)間為關(guān)鍵字查找相應(yīng)的會(huì)話名稱,且在哈希表中以會(huì)話名稱為鍵對(duì)象查找相應(yīng)的超時(shí)時(shí)間和會(huì)話信息。實(shí)施本發(fā)明的技術(shù)方案可通過(guò)會(huì)話名稱或超時(shí)時(shí)間中的任一者查找相應(yīng)的會(huì)話,從而提高了會(huì)話檢測(cè)的效率。
【專利說(shuō)明】一種會(huì)話的管理方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及網(wǎng)絡(luò)【技術(shù)領(lǐng)域】,尤其涉及一種會(huì)話的管理方法及系統(tǒng)。
【背景技術(shù)】
[0002]在通信網(wǎng)絡(luò)中,會(huì)話指網(wǎng)絡(luò)服務(wù)器與客戶端之間的連接及相關(guān)狀態(tài),網(wǎng)絡(luò)服務(wù)器與客戶端的會(huì)話如果在一定的時(shí)間間隔內(nèi)沒(méi)有請(qǐng)求則認(rèn)為會(huì)話超時(shí),而后服務(wù)器會(huì)回收相關(guān)資源,以提高利用率。一個(gè)會(huì)話通常包括會(huì)話名稱、超時(shí)時(shí)間和會(huì)話信息,其中,會(huì)話名稱用來(lái)唯一標(biāo)識(shí)一次會(huì)話,一般以用戶ID或者用戶名作為會(huì)話名稱;超時(shí)時(shí)間一般使用unix時(shí)間戳,unix時(shí)間戳是一種時(shí)間表示方式,定義為從格林威治時(shí)間1970年01月01日00時(shí)00分00秒起至現(xiàn)在的總秒數(shù);會(huì)話信息是保存與會(huì)話、與用戶相關(guān)的信息的數(shù)據(jù)結(jié)構(gòu),可以是用戶登錄時(shí)間,最后活動(dòng)時(shí)間,業(yè)務(wù)數(shù)據(jù)等。
[0003]目前,通常通過(guò)遍歷鏈表中的所有會(huì)話來(lái)進(jìn)行檢測(cè)會(huì)話,但是,這種遍歷的檢測(cè)方式存在弊端,如果會(huì)話數(shù)量龐大,檢測(cè)效率會(huì)比較低下,隨著管理的會(huì)話的數(shù)量增大,這種檢測(cè)方式的效率會(huì)越來(lái)越差;而且,這種檢測(cè)方法無(wú)法根據(jù)會(huì)話名稱來(lái)檢測(cè)所對(duì)應(yīng)的超時(shí)時(shí)間。
【發(fā)明內(nèi)容】
[0004]本發(fā)明要解決的技術(shù)問(wèn)題在于,針對(duì)現(xiàn)有技術(shù)的上述效率低且無(wú)法根據(jù)會(huì)話名稱來(lái)檢測(cè)所對(duì)應(yīng)的超時(shí)時(shí)間的缺陷,提供一種會(huì)話的管理方法及系統(tǒng),效率高且可根據(jù)會(huì)話名稱來(lái)檢測(cè)所對(duì)應(yīng)的超時(shí)時(shí)間。
[0005]本發(fā)明解決其技術(shù)問(wèn)題所采用的技術(shù)方案是:構(gòu)造一種會(huì)話的管理方法,包括:
[0006]預(yù)先分別使用紅黑樹(shù)和哈希表組織多個(gè)會(huì)話,其中,紅黑樹(shù)的每個(gè)節(jié)點(diǎn)包括關(guān)鍵字及節(jié)點(diǎn)值,所述關(guān)鍵字為超時(shí)時(shí)間,所述節(jié)點(diǎn)值為該超時(shí)時(shí)間所對(duì)應(yīng)的所有會(huì)話名稱的集合;哈希表的每一項(xiàng)包括鍵對(duì)象和值對(duì)象,且所述鍵對(duì)象為會(huì)話名稱,所述值對(duì)象包括超時(shí)時(shí)間和會(huì)話信息;
[0007]在所述紅黑樹(shù)中以超時(shí)時(shí)間為關(guān)鍵字查找相應(yīng)的會(huì)話名稱,且在所述哈希表中以會(huì)話名稱為鍵對(duì)象查找相應(yīng)的超時(shí)時(shí)間和會(huì)話信息。
[0008]在本發(fā)明所述的會(huì)話的管理方法中,在插入會(huì)話時(shí),進(jìn)行以下步驟:
[0009]在所述哈希表中:
[0010]根據(jù)待插入的會(huì)話名稱計(jì)算相應(yīng)的哈希值,并根據(jù)所計(jì)算的哈希值計(jì)算在所述哈希表中的相應(yīng)位置;
[0011]在所述相應(yīng)位置插入會(huì)話名稱與超時(shí)時(shí)間、會(huì)話信息的映射;
[0012]在所述紅黑樹(shù)中:
[0013]根據(jù)待插入的超時(shí)時(shí)間查找所述超時(shí)時(shí)間相應(yīng)的節(jié)點(diǎn);
[0014]若查找到相應(yīng)的節(jié)點(diǎn),則將所述哈希表中與所述超時(shí)時(shí)間對(duì)應(yīng)的會(huì)話名稱添加到所述相應(yīng)節(jié)點(diǎn)的節(jié)點(diǎn)值中;[0015]若查找不到相應(yīng)的節(jié)點(diǎn),則以所述超時(shí)時(shí)間為關(guān)鍵字創(chuàng)建節(jié)點(diǎn),并將所述哈希表中與所述超時(shí)時(shí)間對(duì)應(yīng)的會(huì)話名稱添加到所創(chuàng)建節(jié)點(diǎn)的節(jié)點(diǎn)值中。
[0016]在本發(fā)明所述的會(huì)話的管理方法中,在修改特定會(huì)話名稱的超時(shí)時(shí)間時(shí),進(jìn)行以下步驟:
[0017]根據(jù)所述特定會(huì)話名稱,在所述哈希表中查找相應(yīng)的超時(shí)時(shí)間和會(huì)話信息,并修改哈希表中所述特定會(huì)話名稱所對(duì)應(yīng)的超時(shí)時(shí)間;
[0018]在所述紅黑樹(shù)中以所查找到的超時(shí)時(shí)間為關(guān)鍵字查找相應(yīng)的節(jié)點(diǎn),并在所查找到的節(jié)點(diǎn)的節(jié)點(diǎn)值中刪除所述特定會(huì)話名稱;
[0019]在所述紅黑樹(shù)中以新的超時(shí)時(shí)間為關(guān)鍵字查找相應(yīng)的節(jié)點(diǎn),且在查找到相應(yīng)的節(jié)點(diǎn)時(shí),將所述特定會(huì)話名稱添加到該節(jié)點(diǎn)的節(jié)點(diǎn)值中;在查找不到相應(yīng)的節(jié)點(diǎn)時(shí),以所述新的超時(shí)時(shí)間為關(guān)鍵字創(chuàng)建節(jié)點(diǎn),并將所述特定會(huì)話名稱添加到所創(chuàng)建節(jié)點(diǎn)的節(jié)點(diǎn)值中。
[0020]在本發(fā)明所述的會(huì)話的管理方法中,在超時(shí)檢測(cè)時(shí),進(jìn)行以下步驟:
[0021]在所述紅黑樹(shù)中依次從各個(gè)節(jié)點(diǎn)中找到超時(shí)時(shí)間小于當(dāng)前時(shí)間的節(jié)點(diǎn),并返回所查找到的相應(yīng)節(jié)點(diǎn)所對(duì)應(yīng)的會(huì)話名稱。
[0022]本發(fā)明還構(gòu)造一種會(huì)話的管理系統(tǒng),包括:
[0023]存儲(chǔ)模塊,用于預(yù)先分別使用紅黑樹(shù)和哈希表組織多個(gè)會(huì)話,其中,紅黑樹(shù)的每個(gè)節(jié)點(diǎn)包括關(guān)鍵字及節(jié)點(diǎn)值,所述關(guān)鍵字為超時(shí)時(shí)間,所述節(jié)點(diǎn)值為該超時(shí)時(shí)間所對(duì)應(yīng)的所有會(huì)話名稱的集合;哈希表的每一項(xiàng)包括鍵對(duì)象和值對(duì)象,且所述鍵對(duì)象為會(huì)話名稱,所述值對(duì)象包括超時(shí)時(shí)間和會(huì)話信息;
[0024]查找模塊,用于在所述紅黑樹(shù)中以超時(shí)時(shí)間為關(guān)鍵字查找相應(yīng)的會(huì)話名稱,且在所述哈希表中以會(huì)話名稱為鍵對(duì)象查找相應(yīng)的超時(shí)時(shí)間和會(huì)話信息。
[0025]在本發(fā)明所述的會(huì)話的管理系統(tǒng)中,還包括:用于插入會(huì)話的插入模塊,且所述插入模塊包括:
[0026]第一插入單元,用于在所述哈希表中,根據(jù)待插入的會(huì)話名稱計(jì)算相應(yīng)的哈希值,并根據(jù)所計(jì)算的哈希值計(jì)算在所述哈希表中的相應(yīng)位置;而且,在所述相應(yīng)位置插入會(huì)話名稱與超時(shí)時(shí)間、會(huì)話信息的映射;
[0027]第二插入單元,用于在所述紅黑樹(shù)中,根據(jù)待插入的超時(shí)時(shí)間查找相應(yīng)的節(jié)點(diǎn);若查找到相應(yīng)的節(jié)點(diǎn),則將所述哈希表中與所述超時(shí)時(shí)間對(duì)應(yīng)的會(huì)話名稱添加到所述相應(yīng)節(jié)點(diǎn)的節(jié)點(diǎn)值中;若查找不到相應(yīng)的節(jié)點(diǎn),則以所述超時(shí)時(shí)間為關(guān)鍵字創(chuàng)建節(jié)點(diǎn),并將所述哈希表中與所述超時(shí)時(shí)間對(duì)應(yīng)的會(huì)話名稱添加到所創(chuàng)建節(jié)點(diǎn)的節(jié)點(diǎn)值中。
[0028]在本發(fā)明所述的會(huì)話的管理系統(tǒng)中,還包括用于修改特定會(huì)話名稱的超時(shí)時(shí)間的修改模塊,且所述修改模塊包括:
[0029]第一修改單元,用于根據(jù)所述特定會(huì)話名稱,在所述哈希表中查找相應(yīng)的超時(shí)時(shí)間和會(huì)話信息,并將所述哈希表中所述特定會(huì)話名稱所對(duì)應(yīng)的超時(shí)時(shí)間修改為新的超時(shí)時(shí)間;
[0030]第二修改單元,用于在所述紅黑樹(shù)中以所查找到的超時(shí)時(shí)間為關(guān)鍵字查找相應(yīng)的節(jié)點(diǎn),并在所查找到的節(jié)點(diǎn)的節(jié)點(diǎn)值中刪除所述特定會(huì)話名稱;然后,在所述紅黑樹(shù)中以新的超時(shí)時(shí)間為關(guān)鍵字查找相應(yīng)的節(jié)點(diǎn),若查找到相應(yīng)的節(jié)點(diǎn),則將所述特定會(huì)話名稱添加到該節(jié)點(diǎn)的節(jié)點(diǎn)值中;若查找不到相應(yīng)的節(jié)點(diǎn),則以所述新的超時(shí)時(shí)間為關(guān)鍵字創(chuàng)建節(jié)點(diǎn),并將所述特定會(huì)話名稱添加到所創(chuàng)建節(jié)點(diǎn)的節(jié)點(diǎn)值中。
[0031]在本發(fā)明所述的會(huì)話的管理系統(tǒng)中,還包括:
[0032]超時(shí)檢測(cè)模塊,用于在所述紅黑樹(shù)中依次從各個(gè)節(jié)點(diǎn)中找到超時(shí)時(shí)間小于當(dāng)前時(shí)間的節(jié)點(diǎn),并返回所查找到的相應(yīng)節(jié)點(diǎn)所對(duì)應(yīng)的會(huì)話名稱。
[0033]實(shí)施本發(fā)明的技術(shù)方案,在進(jìn)行會(huì)話檢測(cè)時(shí),可在紅黑樹(shù)中以超時(shí)時(shí)間為關(guān)鍵字查找相應(yīng)的會(huì)話名稱,而且,還可在哈希表中以會(huì)話名稱為鍵對(duì)象查找相應(yīng)的超時(shí)時(shí)間和會(huì)話信息,亦即可通過(guò)會(huì)話名稱或超時(shí)時(shí)間中的任一者查找相應(yīng)的會(huì)話,從而提高了會(huì)話檢測(cè)的效率。
【專利附圖】
【附圖說(shuō)明】
[0034]下面將結(jié)合附圖及實(shí)施例對(duì)本發(fā)明作進(jìn)一步說(shuō)明,附圖中:
[0035]圖1是本發(fā)明使用紅黑樹(shù)組織多個(gè)會(huì)話實(shí)施例一的示意圖;
[0036]圖2是本發(fā)明使用哈希表組織多個(gè)會(huì)話實(shí)施例一的示意圖;
[0037]圖3是本發(fā)明會(huì)話的管理方法實(shí)施例一的流程圖;
[0038]圖4是本發(fā)明會(huì)話的管理系統(tǒng)實(shí)施例一的邏輯圖;
[0039]圖5是本發(fā)明會(huì)話的管理系統(tǒng)實(shí)施例二的邏輯圖。
【具體實(shí)施方式】
[0040]圖1是本發(fā)明使用紅黑樹(shù)組織多個(gè)會(huì)話實(shí)施例一的示意圖,紅黑樹(shù)上包括多個(gè)節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)包括關(guān)鍵字和節(jié)點(diǎn)值,其中,關(guān)鍵字是超時(shí)時(shí)間,節(jié)點(diǎn)值為該超時(shí)時(shí)間所對(duì)應(yīng)的所有會(huì)話名稱的集合,例如,超時(shí)時(shí)間為I的節(jié)點(diǎn)的節(jié)點(diǎn)值(會(huì)話名稱)為selO,超時(shí)時(shí)間為2的節(jié)點(diǎn)的節(jié)點(diǎn)值為se20、se21,超時(shí)時(shí)間為3的節(jié)點(diǎn)的節(jié)點(diǎn)值為se30、se31,超時(shí)時(shí)間為4的節(jié)點(diǎn)的節(jié)點(diǎn)值為se40、se41,超時(shí)時(shí)間為5的節(jié)點(diǎn)的節(jié)點(diǎn)值為se50、se51,超時(shí)時(shí)間為6的節(jié)點(diǎn)的節(jié)點(diǎn)值為se60、se61、se62,超時(shí)時(shí)間為7的節(jié)點(diǎn)的節(jié)點(diǎn)值為se70、se71,依此類推。
[0041]圖2是本發(fā)明使用哈希(hash)表組織多個(gè)會(huì)話實(shí)施例一的示意圖,哈希表包括多個(gè)項(xiàng),每一項(xiàng)包括鍵對(duì)象和值對(duì)象,且所述鍵對(duì)象為會(huì)話名稱,所述值對(duì)象包括超時(shí)時(shí)間和會(huì)話信息。例如,會(huì)話名稱為selO的值對(duì)象為I (超時(shí)時(shí)間)和datalO (會(huì)話信息),會(huì)話名稱為se20的值對(duì)象為2和data20,會(huì)話名稱為se21的值對(duì)象為2和data21,會(huì)話名稱為se40的值對(duì)象為4和data40,會(huì)話名稱為se41的值對(duì)象為4和data41,會(huì)話名稱為se60的值對(duì)象為6和data60,依此類推。
[0042]圖3是本發(fā)明會(huì)話的管理方法實(shí)施例一的流程圖,該會(huì)話的管理方法包括:
[0043]S10.預(yù)先分別使用紅黑樹(shù)和哈希表組織多個(gè)會(huì)話,具體參照?qǐng)D1和圖2,其中,紅黑樹(shù)的每個(gè)節(jié)點(diǎn)包括關(guān)鍵字及節(jié)點(diǎn)值,關(guān)鍵字為超時(shí)時(shí)間,節(jié)點(diǎn)值為該超時(shí)時(shí)間所對(duì)應(yīng)的所有會(huì)話名稱的集合;哈希表的每一項(xiàng)包括鍵對(duì)象和值對(duì)象,且鍵對(duì)象為會(huì)話名稱,值對(duì)象包括超時(shí)時(shí)間和會(huì)話信息;
[0044]S20.在紅黑樹(shù)中以超時(shí)時(shí)間為關(guān)鍵字查找相應(yīng)的會(huì)話名稱,且在哈希表中以會(huì)話名稱為鍵對(duì)象查找相應(yīng)的超時(shí)時(shí)間和會(huì)話信息。
[0045]實(shí)施該實(shí)施例的技術(shù)方案,在進(jìn)行會(huì)話檢測(cè)時(shí),可在紅黑樹(shù)中以超時(shí)時(shí)間為關(guān)鍵字查找相應(yīng)的會(huì)話名稱,而且,還可在哈希表中以會(huì)話名稱為鍵對(duì)象查找相應(yīng)的超時(shí)時(shí)間和會(huì)話信息,亦即可通過(guò)會(huì)話名稱或超時(shí)時(shí)間中的任一者查找相應(yīng)的會(huì)話,從而提高了會(huì)話檢測(cè)的效率。
[0046]在本發(fā)明會(huì)話的管理方法的另一個(gè)實(shí)施例中,在步驟SlO之后,若要插入會(huì)話,包括會(huì)話名稱、超時(shí)時(shí)間及會(huì)話信息,則進(jìn)行以下步驟:
[0047]在哈希表中:根據(jù)待插入的會(huì)話名稱計(jì)算相應(yīng)的哈希值,并根據(jù)所計(jì)算的哈希值計(jì)算在哈希表中的相應(yīng)位置;然后,在相應(yīng)位置插入會(huì)話名稱與超時(shí)時(shí)間、會(huì)話信息的映射;
[0048]其次,在紅黑樹(shù)中:根據(jù)待插入的超時(shí)時(shí)間查找超時(shí)時(shí)間相應(yīng)的節(jié)點(diǎn);若查找到相應(yīng)的節(jié)點(diǎn),則將哈希表中與超時(shí)時(shí)間對(duì)應(yīng)的會(huì)話名稱添加到相應(yīng)節(jié)點(diǎn)的節(jié)點(diǎn)值中;若查找不到相應(yīng)的節(jié)點(diǎn),則以超時(shí)時(shí)間為關(guān)鍵字創(chuàng)建節(jié)點(diǎn),并將哈希表中與超時(shí)時(shí)間對(duì)應(yīng)的會(huì)話名稱添加到所創(chuàng)建節(jié)點(diǎn)的節(jié)點(diǎn)值中。
[0049]在本發(fā)明會(huì)話的管理方法的再一個(gè)實(shí)施例中,在步驟SlO之后,若要修改特定會(huì)話名稱的超時(shí)時(shí)間,則進(jìn)行以下步驟:
[0050]根據(jù)特定會(huì)話名稱,在哈希表中查找相應(yīng)的超時(shí)時(shí)間和會(huì)話信息,并修改哈希表中特定會(huì)話名稱所對(duì)應(yīng)的超時(shí)時(shí)間;
[0051]在紅黑樹(shù)中以所查找到的超時(shí)時(shí)間為關(guān)鍵字查找相應(yīng)的節(jié)點(diǎn),并在所查找到的節(jié)點(diǎn)的節(jié)點(diǎn)值(會(huì)話名稱集合)中刪除特定會(huì)話名稱;
[0052]在紅黑樹(shù)中以新的超時(shí)時(shí)間為關(guān)鍵字查找相應(yīng)的節(jié)點(diǎn),且在查找到相應(yīng)的節(jié)點(diǎn)時(shí),將特定會(huì)話名稱添加到該節(jié)點(diǎn)的節(jié)點(diǎn)值中;在查找不到相應(yīng)的節(jié)點(diǎn)時(shí),以新的超時(shí)時(shí)間為關(guān)鍵字創(chuàng)建節(jié)點(diǎn),并將特定會(huì)話名稱添加到所創(chuàng)建節(jié)點(diǎn)的節(jié)點(diǎn)值中。
[0053]在本發(fā)明會(huì)話的管理方法的又一個(gè)實(shí)施例中,進(jìn)行超時(shí)檢測(cè)時(shí),在紅黑樹(shù)中依次從各個(gè)節(jié)點(diǎn)中找到超時(shí)時(shí)間小于當(dāng)前時(shí)間的節(jié)點(diǎn),并返回所查找到的相應(yīng)節(jié)點(diǎn)所對(duì)應(yīng)的會(huì)話名稱。
[0054]圖4是本發(fā)明會(huì)話的管理系統(tǒng)實(shí)施例一的邏輯圖,包括存儲(chǔ)模塊10和查找模塊20,其中,存儲(chǔ)模塊10用于預(yù)先分別使用紅黑樹(shù)和哈希表組織多個(gè)會(huì)話,其中,紅黑樹(shù)的每個(gè)節(jié)點(diǎn)包括關(guān)鍵字及節(jié)點(diǎn)值,關(guān)鍵字為超時(shí)時(shí)間,節(jié)點(diǎn)值為該超時(shí)時(shí)間所對(duì)應(yīng)的所有會(huì)話名稱的集合;哈希表的每一項(xiàng)包括鍵對(duì)象和值對(duì)象,且鍵對(duì)象為會(huì)話名稱,值對(duì)象包括超時(shí)時(shí)間和會(huì)話信息。查找模塊20用于在紅黑樹(shù)中以超時(shí)時(shí)間為關(guān)鍵字查找相應(yīng)的會(huì)話名稱,且在哈希表中以會(huì)話名稱為鍵對(duì)象查找相應(yīng)的超時(shí)時(shí)間和會(huì)話信息。
[0055]圖5是本發(fā)明會(huì)話的管理系統(tǒng)實(shí)施例二的邏輯圖,包括存儲(chǔ)模塊10、查找模塊20、插入模塊30、修改模塊40和超時(shí)檢測(cè)模塊50,其中,該實(shí)施例的存儲(chǔ)模塊10、查找模塊20與圖4所示的實(shí)施例中的存儲(chǔ)模塊10、查找模塊20的邏輯結(jié)構(gòu)相同,在此不做贅述,以下僅說(shuō)明插入模塊30、修改模塊40和超時(shí)檢測(cè)模塊50。
[0056]插入模塊30用于插入會(huì)話,包括會(huì)話名稱、超時(shí)時(shí)間和會(huì)話信息,而且,插入模塊30包括第一插入單元和第二插入單元,其中,第一插入單元用于在哈希表中,根據(jù)待插入的會(huì)話名稱計(jì)算相應(yīng)的哈希值,并根據(jù)所計(jì)算的哈希值計(jì)算在哈希表中的相應(yīng)位置;而且,在相應(yīng)位置插入會(huì)話名稱與超時(shí)時(shí)間、會(huì)話信息的映射;第二插入單元用于在紅黑樹(shù)中,根據(jù)待插入的超時(shí)時(shí)間查找相應(yīng)的節(jié)點(diǎn);若查找到相應(yīng)的節(jié)點(diǎn),則將哈希表中與超時(shí)時(shí)間對(duì)應(yīng)的會(huì)話名稱添加到相應(yīng)節(jié)點(diǎn)的節(jié)點(diǎn)值中;若查找不到相應(yīng)的節(jié)點(diǎn),則以超時(shí)時(shí)間為關(guān)鍵字創(chuàng)建節(jié)點(diǎn),并將哈希表中與超時(shí)時(shí)間對(duì)應(yīng)的會(huì)話名稱添加到所創(chuàng)建節(jié)點(diǎn)的節(jié)點(diǎn)值中。
[0057]修改模塊40用于修改特定會(huì)話名稱的超時(shí)時(shí)間,而且修改模塊包括第一修改單元和第二修改單元,其中,第一修改單元用于根據(jù)特定會(huì)話名稱,在哈希表中查找相應(yīng)的超時(shí)時(shí)間和會(huì)話信息,并將哈希表中特定會(huì)話名稱所對(duì)應(yīng)的超時(shí)時(shí)間修改為新的超時(shí)時(shí)間;第二修改單元用于在紅黑樹(shù)中以所查找到的超時(shí)時(shí)間為關(guān)鍵字查找相應(yīng)的節(jié)點(diǎn),并在所查找到的節(jié)點(diǎn)的節(jié)點(diǎn)值中刪除特定會(huì)話名稱;然后,在紅黑樹(shù)中以新的超時(shí)時(shí)間為關(guān)鍵字查找相應(yīng)的節(jié)點(diǎn),若查找到相應(yīng)的節(jié)點(diǎn),則將特定會(huì)話名稱添加到該節(jié)點(diǎn)的節(jié)點(diǎn)值中;若查找不到相應(yīng)的節(jié)點(diǎn),則以新的超時(shí)時(shí)間為關(guān)鍵字創(chuàng)建節(jié)點(diǎn),并將特定會(huì)話名稱添加到所創(chuàng)建節(jié)點(diǎn)的節(jié)點(diǎn)值中。
[0058]超時(shí)檢測(cè)模塊50用于在紅黑樹(shù)中依次從各個(gè)節(jié)點(diǎn)中找到超時(shí)時(shí)間小于當(dāng)前時(shí)間的節(jié)點(diǎn),并返回所查找到的相應(yīng)節(jié)點(diǎn)所對(duì)應(yīng)的會(huì)話名稱。
[0059]本發(fā)明的會(huì)話管理方法及其系統(tǒng),通過(guò)采用紅黑樹(shù)與哈希表結(jié)合的方式,提高了會(huì)話檢測(cè)的效率,使得檢測(cè)時(shí)間不受會(huì)話數(shù)量增加的影響。舉例來(lái)說(shuō),假設(shè)超時(shí)時(shí)間為一小時(shí),且每一分鐘檢測(cè)一次超時(shí),則本發(fā)明檢測(cè)超時(shí)使用的時(shí)間為遍歷方法檢測(cè)時(shí)間的1/60(即超時(shí)檢測(cè)周期/超時(shí)時(shí)間,時(shí)間節(jié)省的程度與檢測(cè)周期相關(guān)),大大提高了超時(shí)檢測(cè)的速度和效率。本發(fā)明的會(huì)話管理方法和系統(tǒng)同時(shí)實(shí)現(xiàn)了對(duì)超時(shí)時(shí)間的修改,滿足了應(yīng)用層的具體需求。
[0060]以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技術(shù)人員來(lái)說(shuō),本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的權(quán)利要求范圍之內(nèi)。
【權(quán)利要求】
1.一種會(huì)話的管理方法,其特征在于,包括: 預(yù)先分別使用紅黑樹(shù)和哈希表組織多個(gè)會(huì)話,其中,紅黑樹(shù)的每個(gè)節(jié)點(diǎn)包括關(guān)鍵字及節(jié)點(diǎn)值,所述關(guān)鍵字為超時(shí)時(shí)間,所述節(jié)點(diǎn)值為該超時(shí)時(shí)間所對(duì)應(yīng)的所有會(huì)話名稱的集合;哈希表的每一項(xiàng)包括鍵對(duì)象和值對(duì)象,且所述鍵對(duì)象為會(huì)話名稱,所述值對(duì)象包括超時(shí)時(shí)間和會(huì)話信息; 在所述紅黑樹(shù)中以超時(shí)時(shí)間為關(guān)鍵字查找相應(yīng)的會(huì)話名稱,且在所述哈希表中以會(huì)話名稱為鍵對(duì)象查找相應(yīng)的超時(shí)時(shí)間和會(huì)話信息。
2.根據(jù)權(quán)利要求1所述的會(huì)話的管理方法,其特征在于,在插入會(huì)話時(shí),進(jìn)行以下步驟: 在所述哈希表中: 根據(jù)待插入的會(huì)話名稱計(jì)算相應(yīng)的哈希值,并根據(jù)所計(jì)算的哈希值計(jì)算在所述哈希表中的相應(yīng)位置; 在所述相應(yīng)位置插入會(huì)話名稱與超時(shí)時(shí)間、會(huì)話信息的映射; 在所述紅黑樹(shù)中: 根據(jù)待插入的超時(shí)時(shí)間查找所述超時(shí)時(shí)間相應(yīng)的節(jié)點(diǎn); 若查找到相應(yīng)的節(jié)點(diǎn),則將所述哈希表中與所述超時(shí)時(shí)間對(duì)應(yīng)的會(huì)話名稱添加到所述相應(yīng)節(jié)點(diǎn)的節(jié)點(diǎn)值中; 若查找不到相應(yīng)的節(jié)點(diǎn),則以所述超時(shí)時(shí)間為關(guān)鍵字創(chuàng)建節(jié)點(diǎn),并將所述哈希表中與所述超時(shí)時(shí)間對(duì)應(yīng)的會(huì)話名稱添加到所創(chuàng)建節(jié)點(diǎn)的節(jié)點(diǎn)值中。
3.根據(jù)權(quán)利要求1所述的會(huì)話的管理方法,其特征在于,在修改特定會(huì)話名稱的超時(shí)時(shí)間時(shí),進(jìn)行以下步驟: 根據(jù)所述特定會(huì)話名稱,在所述哈希表中查找相應(yīng)的超時(shí)時(shí)間和會(huì)話信息,并修改哈希表中所述特定會(huì)話名稱所對(duì)應(yīng)的超時(shí)時(shí)間; 在所述紅黑樹(shù)中以所查找到的超時(shí)時(shí)間為關(guān)鍵字查找相應(yīng)的節(jié)點(diǎn),并在所查找到的節(jié)點(diǎn)的節(jié)點(diǎn)值中刪除所述特定會(huì)話名稱; 在所述紅黑樹(shù)中以新的超時(shí)時(shí)間為關(guān)鍵字查找相應(yīng)的節(jié)點(diǎn),且在查找到相應(yīng)的節(jié)點(diǎn)時(shí),將所述特定會(huì)話名稱添加到該節(jié)點(diǎn)的節(jié)點(diǎn)值中;在查找不到相應(yīng)的節(jié)點(diǎn)時(shí),以所述新的超時(shí)時(shí)間為關(guān)鍵字創(chuàng)建節(jié)點(diǎn),并將所述特定會(huì)話名稱添加到所創(chuàng)建節(jié)點(diǎn)的節(jié)點(diǎn)值中。
4.根據(jù)權(quán)利要求1所述的會(huì)話的管理方法,其特征在于,在超時(shí)檢測(cè)時(shí),進(jìn)行以下步驟: 在所述紅黑樹(shù)中依次從各個(gè)節(jié)點(diǎn)中找到超時(shí)時(shí)間小于當(dāng)前時(shí)間的節(jié)點(diǎn),并返回所查找到的相應(yīng)節(jié)點(diǎn)所對(duì)應(yīng)的會(huì)話名稱。
5.一種會(huì)話的管理系統(tǒng),其特征在于,包括: 存儲(chǔ)模塊,用于預(yù)先分別使用紅黑樹(shù)和哈希表組織多個(gè)會(huì)話,其中,紅黑樹(shù)的每個(gè)節(jié)點(diǎn)包括關(guān)鍵字及節(jié)點(diǎn)值,所述關(guān)鍵字為超時(shí)時(shí)間,所述節(jié)點(diǎn)值為該超時(shí)時(shí)間所對(duì)應(yīng)的所有會(huì)話名稱的集合;哈希表的每一項(xiàng)包括鍵對(duì)象和值對(duì)象,且所述鍵對(duì)象為會(huì)話名稱,所述值對(duì)象包括超時(shí)時(shí)間和會(huì)話信息; 查找模塊,用于在所述 紅黑樹(shù)中以超時(shí)時(shí)間為關(guān)鍵字查找相應(yīng)的會(huì)話名稱,且在所述哈希表中以會(huì)話名稱為鍵對(duì)象查找相應(yīng)的超時(shí)時(shí)間和會(huì)話信息。
6.根據(jù)權(quán)利要求5所述的會(huì)話的管理系統(tǒng),其特征在于,還包括:用于插入會(huì)話的插入模塊,且所述插入模塊包括: 第一插入單元,用于在所述哈希表中,根據(jù)待插入的會(huì)話名稱計(jì)算相應(yīng)的哈希值,并根據(jù)所計(jì)算的哈希值計(jì)算在所述哈希表中的相應(yīng)位置;而且,在所述相應(yīng)位置插入會(huì)話名稱與超時(shí)時(shí)間、會(huì)話信息的映射; 第二插入單元,用于在所述紅黑樹(shù)中,根據(jù)待插入的超時(shí)時(shí)間查找相應(yīng)的節(jié)點(diǎn);若查找到相應(yīng)的節(jié)點(diǎn),則將所述哈希表中與所述超時(shí)時(shí)間對(duì)應(yīng)的會(huì)話名稱添加到所述相應(yīng)節(jié)點(diǎn)的節(jié)點(diǎn)值中;若查找不到相應(yīng)的節(jié)點(diǎn),則以所述超時(shí)時(shí)間為關(guān)鍵字創(chuàng)建節(jié)點(diǎn),并將所述哈希表中與所述超時(shí)時(shí)間對(duì)應(yīng)的會(huì)話名稱添加到所創(chuàng)建節(jié)點(diǎn)的節(jié)點(diǎn)值中。
7.根據(jù)權(quán)利要求5所述的會(huì)話的管理系統(tǒng),其特征在于,還包括用于修改特定會(huì)話名稱的超時(shí)時(shí)間的修改模塊,且所述修改模塊包括: 第一修改單元,用于根據(jù)所述特定會(huì)話名稱,在所述哈希表中查找相應(yīng)的超時(shí)時(shí)間和會(huì)話信息,并將所述哈希表中所述特定會(huì)話名稱所對(duì)應(yīng)的超時(shí)時(shí)間修改為新的超時(shí)時(shí)間; 第二修改單元,用于在所述紅黑樹(shù)中以所查找到的超時(shí)時(shí)間為關(guān)鍵字查找相應(yīng)的節(jié)點(diǎn),并在所查找到的節(jié)點(diǎn)的節(jié)點(diǎn)值中刪除所述特定會(huì)話名稱;然后,在所述紅黑樹(shù)中以新的超時(shí)時(shí)間為關(guān)鍵字查找相應(yīng)的節(jié)點(diǎn),若查找到相應(yīng)的節(jié)點(diǎn),則將所述特定會(huì)話名稱添加到該節(jié)點(diǎn)的節(jié)點(diǎn)值中;若查找不到相應(yīng)的節(jié)點(diǎn),則以所述新的超時(shí)時(shí)間為關(guān)鍵字創(chuàng)建節(jié)點(diǎn),并將所述特定會(huì)話名稱添加到所創(chuàng)建節(jié)點(diǎn)的節(jié)點(diǎn)值中。
8.根據(jù)權(quán)利要求5所述的會(huì)話的管理系統(tǒng),其特征在于,還包括: 超時(shí)檢測(cè)模塊,用于在所述紅黑樹(shù)中依次從各個(gè)節(jié)點(diǎn)中找到超時(shí)時(shí)間小于當(dāng)前時(shí)間的節(jié)點(diǎn),并返回所查找到的相應(yīng)節(jié)點(diǎn)所對(duì)應(yīng) 的會(huì)話名稱。
【文檔編號(hào)】H04L29/06GK103856462SQ201210514591
【公開(kāi)日】2014年6月11日 申請(qǐng)日期:2012年12月5日 優(yōu)先權(quán)日:2012年12月5日
【發(fā)明者】劉小杰 申請(qǐng)人:深圳市快播科技有限公司