[发明专利]面向远过程调用的持久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.vipzhuanli.com/pat/books/201210039661.6/2.html,转载请声明来源钻瓜专利网。