專利名稱:一種維護tcp流表結構和亂序緩沖區(qū)的方法
技術領域:
本發(fā)明涉及內(nèi)存管理領域,具體涉及一種維護TCP流表結構和亂序緩沖區(qū)的方法。
背景技術:
計算機軟件在當今社會得到了越來越廣泛的應用,一方面,計算機軟件正在被應 用于越來越多的領域當中;另一方面,計算機軟件的用戶也由原來的專業(yè)的計算機工程師, 轉(zhuǎn)變?yōu)楝F(xiàn)在的不同知識水平的廣大用戶。這就要求10計算機軟件功能強大,但簡單易用, 這種要求直接導致計算機軟件規(guī)模變大,復雜度增加,使得用戶在應用計算機軟件時,軟件 錯誤的發(fā)生率增加,其中,最主要、最常見的錯誤就是軟件在進行內(nèi)存訪問時引起的錯誤。 這種錯誤總體表現(xiàn)為兩種形式一種是讀寫地址引用錯誤;另一種是讀寫權限違反許可, 這兩種錯誤統(tǒng)稱為非法內(nèi)存訪問。目前,非法內(nèi)存訪問會導致嚴重的不良后巧果非法讀內(nèi) 存,會引起數(shù)據(jù)引用出錯,導致系統(tǒng)混亂;非法寫內(nèi)存,會破壞內(nèi)存中的正常數(shù)據(jù),嚴重時, 還會導致系統(tǒng)癱瘓板卡設計中,內(nèi)存空間大小有限,增加內(nèi)存空間相應也增加了成本,合理使用內(nèi)存 變得很重要。目前存在的連接管理系統(tǒng)中,將內(nèi)存作為單表結構使用,每個結點存儲一個連 接信息,需要幾十字節(jié),某些結點不被使用,造成內(nèi)存空間浪費嚴重。本系統(tǒng)使用雙表結構, 第一個表只記錄連接信息表的地址信息,地址只需要幾個字節(jié),即便結點不被使用,空間浪 費顯然減少了 10倍之多。
發(fā)明內(nèi)容
本發(fā)明提供了一種維護TCP流表結構和亂序緩沖區(qū)的方法,步驟如下A、根據(jù)內(nèi)存空間大小和用途,將記錄連接信息的空間地址存入連接地址池中,將 記錄亂序連接信息的地址存入亂序緩沖區(qū)地址池中;B、系統(tǒng)初始化后,從連接地址池和亂序緩沖區(qū)地址池中讀出I個地址分別存入 兩個先進先出緩沖區(qū)隊列。C、新建連接時,從連接地址隊列中取出一個可用地址,并將連接信息寫入該地址 指向的緩沖區(qū);D、如果連接亂序,從亂序緩沖區(qū)隊列中取出一個可用地址,將該地址和亂序連接 信息提交亂序重排模塊進行處理。E、連接斷開時,將分配給該TCP連接的連接地址和亂序緩沖區(qū)地址回收到接收釋 放地址緩沖區(qū)隊列中。F、檢查可用地址隊列快空信號和釋放地址隊列的快滿信號,如果可用地址隊列快 空,從地址池中取地址,如果釋放地址隊列快滿,回收地址到地址池中。本發(fā)明充分利用內(nèi)存空間,不導致浪費,只要用完就釋放,可以被其他連接使用。
圖1為本發(fā)明原理圖
具體實施例方式A、根據(jù)內(nèi)存空間大小和用途,將記錄連接信息的空間地址存入連接地址池中,將 記錄亂序連接信息的地址存入亂序緩沖區(qū)地址池中;B、系統(tǒng)初始化后,從連接地址池和亂序緩沖區(qū)地址池中讀出I個地址分別存入 兩個先進先出緩沖區(qū)隊列。C、新建連接時,從連接地址隊列中取出一個可用地址,并將連接信息寫入該地址 指向的緩沖區(qū);D、如果連接亂序,從亂序緩沖區(qū)隊列中取出一個可用地址,將該地址和亂序連接 信息提交亂序重排模塊進行處理。E、連接斷開時,將分配給該TCP連接的連接地址和亂序緩沖區(qū)地址回收到接收釋 放地址緩沖區(qū)隊列中。F、檢查可用地址隊列快空信號和釋放地址隊列的快滿信號,如果可用地址隊列快 空,從地址池中取地址,如果釋放地址隊列快滿,回收地址到地址池中。充分利用內(nèi)存空間,不導致浪費,只要用完就釋放,可以被其他連接使用。
權利要求
1. 一種維護TCP流表結構和亂序緩沖區(qū)的方法,其特征在于步驟如下A、根據(jù)內(nèi)存空間大小和用途,將記錄連接信息的空間地址存入連接地址池中,將記錄 亂序連接信息的地址存入亂序緩沖區(qū)地址池中;B、系統(tǒng)初始化后,從連接地址池和亂序緩沖區(qū)地址池中讀出I個地址分別存入兩個 先進先出緩沖區(qū)隊列。C、新建連接時,從連接地址隊列中取出一個可用地址,并將連接信息寫入該地址指向 的緩沖區(qū);D、如果連接亂序,從亂序緩沖區(qū)隊列中取出一個可用地址,將該地址和亂序連接信息 提交亂序重排模塊進行處理。E、連接斷開時,將分配給該TCP連接的連接地址和亂序緩沖區(qū)地址回收到接收釋放地 址緩沖區(qū)隊列中。F、檢查可用地址隊列快空信號和釋放地址隊列的快滿信號,如果可用地址隊列快空, 從地址池中取地址,如果釋放地址隊列快滿,回收地址到地址池中。
全文摘要
本發(fā)明提供了一種維護TCP流表結構和亂序緩沖區(qū)的方法,TCP連接管理系統(tǒng)使用片外存儲器記錄連接信息和亂序連接信息,為每個連接分配的內(nèi)存空間大小相同,把每個連接的內(nèi)存空間地址放在地址池中,建立連接時或者亂序時,從地址池中取出一個地址使用,釋放連接時將該連接所占用地址回收至地址池。本發(fā)明充分利用內(nèi)存空間,不導致浪費,只要用完就釋放,可以被其他連接使用。
文檔編號G06F12/02GK102147766SQ20101059843
公開日2011年8月10日 申請日期2010年12月17日 優(yōu)先權日2010年12月17日
發(fā)明者劉興奎, 劉朝輝, 張英文, 李靜, 竇曉光, 紀奎 申請人:曙光信息產(chǎn)業(yè)股份有限公司