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