[發明專利]面向遠過程調用的持久TCP連接方法有效
| 申請號: | 201210039661.6 | 申請日: | 2012-02-21 |
| 公開(公告)號: | CN102546659A | 公開(公告)日: | 2012-07-04 |
| 發明(設計)人: | 李小勇;王玲惠;戰科宇;胡鵬;王皓;閆鶴 | 申請(專利權)人: | 上海交通大學 |
| 主分類號: | H04L29/06 | 分類號: | H04L29/06;H04L29/08 |
| 代理公司: | 上海科盛知識產權代理有限公司 31225 | 代理人: | 趙志遠 |
| 地址: | 200240 *** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 面向 過程 調用 持久 tcp 連接 方法 | ||
技術領域
本發明涉及一種TCP連接方法,尤其是涉及一種面向遠過程調用的持久TCP連接方法。
背景技術
遠程過程調用協議(Remote?Procedure?Call?Protocol,RPC)采用客戶機/服務器模型。請求發起程序相當于一個客戶機,它通過網絡調用遠程計算機上提供的服務程序。RPC有多種模式,其主流為Sun?RPC、DEC及ORPC。網絡文件系統(Network?File?System,NFS)是一個使用Sun?RPC構造的客戶機/服務器應用程序,NFS客戶機通過它的TCP/IP模塊(或者是UDP/IP模塊)向NFS服務器發送RPC請求,NFS底層的傳輸協議為用戶數據報UDP或傳輸控制協議TCP。NFSv3版本在實現中,基本是為每個NFS請求建立一個TCP連接,具體是指每次服務器完成一個應答后相關的TCP連接就被關閉,即每個連接沒有持續到可以傳輸其他請求。這種連接方法稱為非持久連接,這種做法的開銷很大。
經過對現有文獻的檢索發現,《The?Advancement?of?NFS?Benchmarking:SFS2.0》(該文最初發表于1999年在美國華盛頓州西雅圖市舉辦的第13屆大型裝置系統管理“LISA”學術研討會的論文集里)中,NFSv3開始引入TCP作為傳輸協議,客戶端可以選擇傳輸協議為UDP或TCP。UDP作為一種無連接輕量級的協議,消息的交互次數少,(每個請求處理TCP需要5個消息,而UDP需要僅需2個消息),但是,UDP不為IP提供可靠性、流控或差錯恢復功能,其丟包會導致嚴重的可靠性問題。
經過對現有文獻的檢索發現,《TCP/IP詳解卷1:協議》第1-1版第10章以及第17章至第21章中,TCP提供的是面向連接的,可靠的字節流服務,它不會導致嚴重的丟包問題。但是,兩個進程在使用TCP進行數據交換之前,必須建立一個連接,完成數據交換后,需要關閉這個連接;這樣頻繁的建立與關閉TCP連接導致系統CPU資源浪費:客戶得為每個等待請求的對象建立并維護一個新的連接,并為其分配緩沖區,并維持TCP變量;而在關閉TCP連接時釋放這些資源;不同的TCP連接之間完全獨立,使得TCP具有的擁塞控制功能不能發揮有效作用。
所述的TCP協議提供可靠的連接服務,采用三次握手來初始化TCP連接,即通過三次握手來同步連接雙方的序列號和確認號并交換TCP窗口大小信息。所述的TCP關閉連接,由于TCP連接是全雙工,因此每個方向必須單獨地進行關閉,終止一個TCP連接要經過4次握手。
發明內容
本發明的目的就是為了克服上述現有技術存在的缺陷而提供一種面向遠過程調用的持久TCP連接方法。
本發明的目的可以通過以下技術方案來實現:
一種面向遠過程調用的持久TCP連接方法,其特征在于,包括以下步驟:
1)客戶端與服務器端三次握手建立TCP連接,傳輸數據并啟動倒計時計時器;
2)設置倒計時計時起的初始值;
3)倒計時計時器時間到點后,執行回調函數,客戶端向服務器端發起請求,請求斷開TCP連接;
4)客戶端與服務器端第四次握手斷開TCP連接,結束本次持續的TCP連接。
所述的設置倒計時計時起的初始值的依據為:
1)服務器和客戶端之間的中間節點負載程度;
2)客戶端與服務器端的負載狀況;
3)應用請求類型以及歷史連接時間。
與現有技術相比,本發明具有以下優點:
客戶端與服務器端的TCP連接不再是非持續的,而是自適應關閉的,對于傳輸頻繁的客戶端與服務器端之間,減少了頻繁的TCP連接建立與關閉次數,可以使系統更充分利用網絡帶寬,提高傳輸效率。
附圖說明
圖1為本發明的實現硬件結構示意圖;
圖2為本發明的軟件流程圖。
具體實施方式
下面結合附圖和具體實施例對本發明進行詳細說明。
實施例
如圖1、圖2所示,一種面向遠過程調用的持久TCP連接方法,包括以下步驟:
1)客戶端與服務器端三次握手建立TCP連接,傳輸數據并啟動倒計時計時器;
2)設置倒計時計時起的初始值;
3)倒計時計時器時間到點后,執行回調函數,客戶端向服務器端發起請求,請求斷開TCP連接;
4)客戶端與服務器端第四次握手斷開TCP連接,結束本次持續的TCP連接。
所述的設置倒計時計時起的初始值的依據為:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于上海交通大學,未經上海交通大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210039661.6/2.html,轉載請聲明來源鉆瓜專利網。





