CN102546659B - 面向远过程调用的持久tcp连接方法 - Google Patents
面向远过程调用的持久tcp连接方法 Download PDFInfo
- Publication number
- CN102546659B CN102546659B CN201210039661.6A CN201210039661A CN102546659B CN 102546659 B CN102546659 B CN 102546659B CN 201210039661 A CN201210039661 A CN 201210039661A CN 102546659 B CN102546659 B CN 102546659B
- Authority
- CN
- China
- Prior art keywords
- tcp
- client
- server
- connects
- count down
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Communication Control (AREA)
Abstract
本发明涉及一种面向远过程调用的持久TCP连接方法,包括以下步骤:1)客户端与服务器端三次握手建立TCP连接,传输数据并启动倒计时计时器;2)设置倒计时计时起的初始值;3)倒计时计时器时间到点后,执行回调函数,客户端向服务器端发起请求,请求断开TCP连接;4)客户端与服务器端第四次握手断开TCP连接,结束本次持续的TCP连接。与现有技术相比,本发明具有可以使系统更充分利用网络带宽、提高传输效率等优点。
Description
技术领域
本发明涉及一种TCP连接方法,尤其是涉及一种面向远过程调用的持久TCP连接方法。
背景技术
远程过程调用协议(Remote Procedure Call Protocol,RPC)采用客户机/服务器模型。请求发起程序相当于一个客户机,它通过网络调用远程计算机上提供的服务程序。RPC有多种模式,其主流为Sun RPC、DEC及ORPC。网络文件系统(NetworkFile 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连接。
所述的设置倒计时计时起的初始值的依据为:
1)服务器和客户端之间的中间节点负载程度,若中间节点(如:路由器、网关、防火墙等)负载大,则可减短TCP连接时间,否则可将持续连接时间加长;
2)客户端与服务器端的负载状况,因为创建TCP连接需要耗费一定的系统资源,若TCP连接两段的主机负载重,则可减短TCP连接时间,以便及时释放所占用的系统资源;
3)应用请求类型以及历史连接时间,在计时器中存有各类型操作前几次TCP连接的持续时间(各类型操作的TCP连接首次持续时间),根据操作的不同(如:读文件和写文件)和历史数据的变化来动态更改连接持续时间。
本发明所提出的方法,是依托于现NFS对基于TCP的RPC调用,是对现有NFS执行RPC调用的缺点的改进,具有良好的适应性。只需对现有的NFS客户端模块做些改动,就可以很好的实现。
Claims (1)
1.一种面向远过程调用的持久TCP连接方法,其特征在于,包括以下步骤:
1)客户端与服务器端三次握手建立TCP连接,传输数据并启动倒计时计时器;
2)设置倒计时计时器的初始值;
3)倒计时计时器时间到点后,执行回调函数,客户端向服务器端发起请求,请求断开TCP连接;
4)客户端与服务器端第四次握手断开TCP连接,结束本次持续的TCP连接;
所述的设置倒计时计时起的初始值的依据为:
1)服务器和客户端之间的中间节点负载程度,若中间节点负载大,则可减短TCP连接时间,否则可将持续连接时间加长;
2)客户端与服务器端的负载状况,若TCP连接两段的主机负载重,则可减短TCP连接时间,以便及时释放所占用的系统资源;
3)应用请求类型以及历史连接时间,在计时器中存有各类型操作前几次TCP连接的持续时间,根据操作的不同和历史数据的变化来动态更改连接持续时间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210039661.6A CN102546659B (zh) | 2012-02-21 | 2012-02-21 | 面向远过程调用的持久tcp连接方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210039661.6A CN102546659B (zh) | 2012-02-21 | 2012-02-21 | 面向远过程调用的持久tcp连接方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102546659A CN102546659A (zh) | 2012-07-04 |
CN102546659B true CN102546659B (zh) | 2015-07-08 |
Family
ID=46352617
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210039661.6A Expired - Fee Related CN102546659B (zh) | 2012-02-21 | 2012-02-21 | 面向远过程调用的持久tcp连接方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102546659B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106941536A (zh) * | 2017-05-03 | 2017-07-11 | 华东交通大学 | 基于http协议的客户端与服务器之间的数据交互方法 |
CN107612760B (zh) * | 2017-11-03 | 2021-08-24 | 睿石网云(北京)科技有限公司 | 一种业务服务的中断监测方法及系统 |
CN108123940B (zh) * | 2017-12-18 | 2020-07-24 | 中国科学院深圳先进技术研究院 | 基于socket的异步通信方法、存储介质及处理器 |
CN108900370B (zh) * | 2018-06-08 | 2021-12-17 | 努比亚技术有限公司 | 长连接多重超时判断方法、装置及计算机可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101394444A (zh) * | 2008-11-12 | 2009-03-25 | 华为技术有限公司 | 释放呼叫结束后占用的tcp连接的方法、系统及设备 |
CN101447896A (zh) * | 2007-11-27 | 2009-06-03 | 北京高信达网络科技有限公司 | 一种互联网旁路监测系统的tcp连接管理方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102007011071B4 (de) * | 2007-03-07 | 2009-06-18 | T-Mobile Internationale Ag | Verfahren zur Verbesserung eines TCP Datenübertragungsprozesses im Fall einer Unterbrechung des physikalischen Übertragungsmediums |
-
2012
- 2012-02-21 CN CN201210039661.6A patent/CN102546659B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101447896A (zh) * | 2007-11-27 | 2009-06-03 | 北京高信达网络科技有限公司 | 一种互联网旁路监测系统的tcp连接管理方法 |
CN101394444A (zh) * | 2008-11-12 | 2009-03-25 | 华为技术有限公司 | 释放呼叫结束后占用的tcp连接的方法、系统及设备 |
Non-Patent Citations (2)
Title |
---|
单片机上简单TCP/IP协议的实现;周晓峰 等;《微电子学与计算机》;20040229;第21卷(第2期);第1520-1522页 * |
基于uC/OS II的TCP协议的约简与改进;符学进 等;《计算机应用》;20050731;第25卷(第7期);第99-101页 * |
Also Published As
Publication number | Publication date |
---|---|
CN102546659A (zh) | 2012-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2645636B1 (en) | Home gateway, cloud server, and method for communication therebetween | |
CN110730105B (zh) | 图片数据传输方法、装置、设备及存储介质 | |
CN104811459A (zh) | 用于消息服务的处理方法、装置及系统、消息服务系统 | |
US9124494B2 (en) | Method and apparatus of performing remote management of a managed machine | |
US10609125B2 (en) | Method and system for transmitting communication data | |
CN102546659B (zh) | 面向远过程调用的持久tcp连接方法 | |
CN105610888A (zh) | 基于安卓的利用socket推送消息的方法和系统 | |
WO2023046088A1 (zh) | 一种应用于音视频数据传输的端到端系统解决方法 | |
CN104660627B (zh) | 一种上位机与下位机的通信方法和系统 | |
CN109547162B (zh) | 基于两套单向边界的数据通信方法 | |
CN112202872A (zh) | 一种数据转发方法、api网关及消息服务系统 | |
US20190140900A1 (en) | Method and apparatus of performing remote management of a managed machine | |
US20110225230A1 (en) | Method and apparatus for detecting active and orphan session-based connections | |
US10855805B2 (en) | Centralized storage-connected switch port auto-configuration system | |
US9749825B2 (en) | Connection-oriented messaging and signaling in mobile heath networks | |
CN114371935A (zh) | 网关处理方法、网关、设备及介质 | |
WO2024067529A1 (zh) | 基于rdma的建连方法、装置、设备及存储介质 | |
CN103338156A (zh) | 一种基于线程池的命名管道服务器并发通信方法 | |
TWI708494B (zh) | 一種tcp流重組方法和裝置 | |
CN106357454A (zh) | 日志系统控制装置及其控制方法 | |
US9219670B2 (en) | Link-aware throughput acceleration profiles | |
Zheng et al. | Research on multi-path network in cloud computing based on SCTP | |
CN110737505B (zh) | 一种采用虚拟通道的虚拟存储访问方法 | |
CN106095599A (zh) | 一种异步长连接易扩展接口方法 | |
CN102457497A (zh) | 一种网络通信的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150708 Termination date: 20180221 |