CN103685480A - 一种传输控制协议网络实现方法以及一种服务器 - Google Patents

一种传输控制协议网络实现方法以及一种服务器 Download PDF

Info

Publication number
CN103685480A
CN103685480A CN201310626098.7A CN201310626098A CN103685480A CN 103685480 A CN103685480 A CN 103685480A CN 201310626098 A CN201310626098 A CN 201310626098A CN 103685480 A CN103685480 A CN 103685480A
Authority
CN
China
Prior art keywords
socket
data
thread
tcp
running status
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.)
Pending
Application number
CN201310626098.7A
Other languages
English (en)
Inventor
胡恒亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Anyun Information Technology Co., Ltd.
Original Assignee
SHENZHEN ANYUN INFORMATION TECHNOLOGY Co Ltd
Clouds Creators Information Technology (wuxi) Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by SHENZHEN ANYUN INFORMATION TECHNOLOGY Co Ltd, Clouds Creators Information Technology (wuxi) Co Ltd filed Critical SHENZHEN ANYUN INFORMATION TECHNOLOGY Co Ltd
Priority to CN201310626098.7A priority Critical patent/CN103685480A/zh
Publication of CN103685480A publication Critical patent/CN103685480A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种TCP网络实现方法:为每个需要监听的IP地址和端口分别对应建立一个TCP Socket;针对每个Socket,分别进行以下处理:启动一个监听线程,用于监听通过TCP连接到该Socket上的Socket连接,并启动M个数据收发线程,用于处理各Socket连接上的数据接收和发送;其中,每个数据收发线程仅在需要处理数据时处于运行状态,否则处于休眠状态。本发明同时公开了一种服务器。应用本发明所述方案,能够提高数据吞吐量等。

Description

一种传输控制协议网络实现方法以及一种服务器
技术领域
本发明涉及网络技术,特别涉及一种传输控制协议网络实现方法以及一种服务器。
背景技术
现有大多数服务器架构体系都是基于传输控制协议(TCP,Transmission ControlProtocol)网络的,服务器的数据处理能力的瓶颈往往集中在TCP网络上。
因此,如何设计一种高数据吞吐量的TCP网络,是一个亟待解决的问题,但现有技术中还没有一种有效的解决方式。
发明内容
有鉴于此,本发明提供了一种TCP网络实现方法以及一种服务器,能够提高数据吞吐量。
为了达到上述目的,本发明的技术方案是这样实现的:
一种TCP网络实现方法,包括:
为每个需要监听的IP地址和端口分别对应建立一个TCP套接字Socket;
针对每个Socket,分别进行以下处理:
启动一个监听线程,用于监听通过TCP连接到该Socket上的Socket连接,并启动M个数据收发线程,用于处理各Socket连接上的数据接收和发送,所述M为正整数;其中,每个数据收发线程仅在需要处理数据时处于运行状态,否则处于休眠状态。
一种服务器,包括:
第一处理模块,用于为每个需要监听的IP地址和端口分别对应建立一个TCP套接字Socket;
第二处理模块,用于针对每个Socket,分别进行以下处理:
启动一个监听线程,用于监听通过TCP连接到该Socket上的Socket连接,并启动M个数据收发线程,用于处理各Socket连接上的数据接收和发送,所述M为正整数;其中,每个数据收发线程仅在需要处理数据时处于运行状态,否则处于休眠状态。
可见,采用本发明所述方案,为每个需要监听的IP地址和端口分别对应建立一个TCP Socket,并启动一个监听线程来监听通过TCP连接到该Socket上的Socket连接,另外,启动M个数据收发线程来处理各Socket连接上的数据接收和发送,而且,各数据收发线程可仅在需要处理数据时才处于运行状态,否则可处于休眠状态;通过上述方式,可显著提高数据的吞吐量,并能够节省系统资源消耗等。
附图说明
图1为本发明TCP网络实现方法实施例的流程图。
图2为本发明服务器实施例的组成结构示意图。
具体实施方式
为了使本发明的技术方案更加清楚、明白,以下参照附图并举实施例,对本发明所述方案作进一步的详细说明。
图1为本发明TCP网络实现方法实施例的流程图。如图1所示,包括以下步骤11~12。
步骤11:为每个需要监听的IP地址和端口分别对应建立一个TCP套接字(Socket)。
本步骤中,可针对每个需要监听的IP地址和端口,分别对应建立一个TCP Socket,即将所建立的Socket与对应的IP地址和端口进行捆绑,如何建立Socket为现有技术。
如何确定哪些IP地核和端口需要监听同样为现有技术。
步骤12:针对每个Socket,分别启动一个监听线程,用于监听通过TCP连接到该Socket上的Socket连接,并启动M个数据收发线程,用于处理各Socket连接上的数据接收和发送,M为正整数;其中,每个数据收发线程仅在需要处理数据时处于运行状态,否则处于休眠状态。
所述Socket连接,即指客户端所建立的通过TCP连接到该Socket上的连接(connect)。
本步骤中,可针对步骤11中所建立的每个Socket,分别利用一个监听线程来监听该Socket上的Socket连接,并可针对监听到各Socket连接,按照以下方式一或方式二进行处理。
方式一
针对每个Socket连接,分别对应启动一个数据收发线程,每个数据收发线程分别用于处理对应的Socket连接上的数据接收和发送。
方式二
为所有Socket连接共同启动一个数据收发线程,该数据收发线程用于处理所有Socket连接上的数据接收和发送。
可以看出,方式一中,数据收发线程和Socket连接之间是一对一的关系,而方式二中,数据收发线程和Socket连接之间是一对多的关系。
另外,相比于方式二,方式一可使得数据能够得到更为及时的处理,但相比于方式一,方式二中由于线程数减少,因此能够减少对系统资源的占用等。具体采用方式一还是方式二可根据实际需要而定,
在实际应用中,为了防止出现线程占用系统资源过多,从而导致系统出现异常错误等问题,数据收发线程可在对应的Socket连接上没有数据接收和发送时,处于休眠状态,即处于非运行状态,处于休眠状态的具体时长可根据实际情况而定,比如,可根据具体的操作系统以及系统当前的负荷等来确定。
具体来说,每个数据收发线程在启动后,将处于运行状态,并可分别执行以下处理:
A、确定自身对应的Socket连接上是否存在数据接收和/或发送,如果是,则执行步骤B,否则,执行步骤C;
B、处理自身对应的Socket连接上的数据接收和/或发送,当处理完毕后(即没有新的接收和/或发送数据需要处理),执行步骤C,如何处理为现有技术;
C、进入休眠状态,当经过预定时长后,恢复为运行状态,并重复执行步骤A。
上述数据接收和/或发送包括以下三种情况:数据接收、数据发送、数据接收和数据发送。
另外,对于每个数据收发线程,当满足退出条件时,可退出到停止状态。
具体来说,每个数据收发线程在启动后,其内部会启动一个循环,循环的依据是判断所在线程是否处于应该停止状态,如果是,则循环退出,相应地,该循环所在线程也退出到停止状态,具体实现为现有技术。另外,对于按照上述方式一启动的每个数据收发线程,当监听线程监听到该数据收发线程对应的Socket连接断开时(客户端退出连接时),对应的数据收发线程也可退出到停止状态。其它可能的情况不再一一赘述。
至此,即完成了关于本发明方法实施例的介绍。
基于上述介绍,图2为本发明服务器实施例的组成结构示意图。如图2所示,包括:
第一处理模块,用于为每个需要监听的IP地址和端口分别对应建立一个TCPSocket;
第二处理模块,用于针对每个Socket,分别进行以下处理:
启动一个监听线程,用于监听通过TCP连接到该Socket上的Socket连接,并启动M个数据收发线程,用于处理各Socket连接上的数据接收和发送,M为正整数;其中,每个数据收发线程仅在需要处理数据时处于运行状态,否则处于休眠状态。
其中,
M的取值等于一,或者,等于Socket连接数;
当M的取值等于Socket连接数时,每个Socket连接分别对应一个数据收发线程;
当M的取值等于一时,所有Socket连接共同对应一个数据收发线程。
具体地,
每个数据收发线程可用于,当自身启动后,处于运行状态,并执行以下预定处理:确定自身对应的Socket连接上是否存在数据接收和/或发送,如果是,则处理自身对应的Socket连接上的数据接收和/或发送,当处理完毕后,进入休眠状态,当经过预定时长后,恢复为运行状态,并重复执行所述预定处理;如果否,则进入休眠状态,当经过预定时长后,恢复为运行状态,并重复执行所述预定处理。
另外,
数据收发线程还可进一步用于,当满足退出条件时,退出到停止状态。
图2所示服务器实施例的具体工作流程请参照前述方法实施例中的相应说明,此处不再赘述。
需要说明的是,在实际应用中,图2所示服务器中通常还会进一步包括一些其它组成部分,由于与本发明所述方案无直接关系,故不作介绍。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种传输控制协议TCP网络实现方法,其特征在于,包括:
为每个需要监听的IP地址和端口分别对应建立一个TCP套接字Socket;
针对每个Socket,分别进行以下处理:
启动一个监听线程,用于监听通过TCP连接到该Socket上的Socket连接,并启动M个数据收发线程,用于处理各Socket连接上的数据接收和发送,所述M为正整数;其中,每个数据收发线程仅在需要处理数据时处于运行状态,否则处于休眠状态。
2.根据权利要求1所述的方法,其特征在于,
所述启动M个数据收发线程包括:
为每个Socket连接分别对应启动一个数据收发线程;
或者,为所有Socket连接共同启动一个数据收发线程。
3.根据权利要求2所述的方法,其特征在于,
所述每个数据收发线程仅在需要处理数据时处于运行状态,否则处于休眠状态包括:
每个数据收发线程在启动后,处于运行状态,并执行以下处理:
A、确定自身对应的Socket连接上是否存在数据接收和/或发送,如果是,则执行步骤B,否则,执行步骤C;
B、处理自身对应的Socket连接上的数据接收和/或发送,当处理完毕后,执行步骤C;
C、进入休眠状态,当经过预定时长后,恢复为运行状态,并重复执行步骤A。
4.根据权利要求1所述的方法,其特征在于,
该方法进一步包括:对于每个数据收发线程,当满足退出条件时,退出到停止状态。
5.一种服务器,其特征在于,包括:
第一处理模块,用于为每个需要监听的IP地址和端口分别对应建立一个TCP套接字Socket;
第二处理模块,用于针对每个Socket,分别进行以下处理:
启动一个监听线程,用于监听通过TCP连接到该Socket上的Socket连接,并启动M个数据收发线程,用于处理各Socket连接上的数据接收和发送,所述M为正整数;其中,每个数据收发线程仅在需要处理数据时处于运行状态,否则处于休眠状态。
6.根据权利要求5所述的服务器,其特征在于,
所述M的取值等于一,或者,等于Socket连接数;
当所述M的取值等于Socket连接数时,每个Socket连接分别对应一个数据收发线程;
当所述M的取值等于一时,所有Socket连接共同对应一个数据收发线程。
7.根据权利要求6所述的服务器,其特征在于,
每个数据收发线程用于,当自身启动后,处于运行状态,并执行以下预定处理:确定自身对应的Socket连接上是否存在数据接收和/或发送,如果是,则处理自身对应的Socket连接上的数据接收和/或发送,当处理完毕后,进入休眠状态,当经过预定时长后,恢复为运行状态,并重复执行所述预定处理;如果否,则进入休眠状态,当经过预定时长后,恢复为运行状态,并重复执行所述预定处理。
8.根据权利要求5所述的服务器,其特征在于,
所述数据收发线程进一步用于,当满足退出条件时,退出到停止状态。
CN201310626098.7A 2013-11-29 2013-11-29 一种传输控制协议网络实现方法以及一种服务器 Pending CN103685480A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310626098.7A CN103685480A (zh) 2013-11-29 2013-11-29 一种传输控制协议网络实现方法以及一种服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310626098.7A CN103685480A (zh) 2013-11-29 2013-11-29 一种传输控制协议网络实现方法以及一种服务器

Publications (1)

Publication Number Publication Date
CN103685480A true CN103685480A (zh) 2014-03-26

Family

ID=50321755

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310626098.7A Pending CN103685480A (zh) 2013-11-29 2013-11-29 一种传输控制协议网络实现方法以及一种服务器

Country Status (1)

Country Link
CN (1) CN103685480A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104298565A (zh) * 2014-10-30 2015-01-21 北京星网锐捷网络技术有限公司 一种初始化端口的方法及装置
CN105681930A (zh) * 2016-01-12 2016-06-15 深圳羚羊极速科技有限公司 与流媒体服务器建立快速的tcp连接方式
CN106385448A (zh) * 2016-09-13 2017-02-08 郑州云海信息技术有限公司 一种客户端与服务端进行通信的方法及装置
CN109496418A (zh) * 2018-05-31 2019-03-19 优视科技新加坡有限公司 文件下载方法、装置及设备/终端/服务器
CN111416802A (zh) * 2020-03-11 2020-07-14 北京字节跳动网络技术有限公司 基于tcp的数据处理方法、装置、电子设备和可读介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1561043A (zh) * 2004-02-20 2005-01-05 中兴通讯股份有限公司 一种多用户并发接入装置及其方法
CN102469064A (zh) * 2010-11-03 2012-05-23 中兴通讯股份有限公司 通信实现方法及通信设备
CN102724132A (zh) * 2012-06-29 2012-10-10 杭州迪普科技有限公司 一种提高tcp连接复用处理效率的方法及装置
CN102916953A (zh) * 2012-10-12 2013-02-06 青岛海信传媒网络技术有限公司 基于tcp连接实现并发服务的方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1561043A (zh) * 2004-02-20 2005-01-05 中兴通讯股份有限公司 一种多用户并发接入装置及其方法
CN102469064A (zh) * 2010-11-03 2012-05-23 中兴通讯股份有限公司 通信实现方法及通信设备
CN102724132A (zh) * 2012-06-29 2012-10-10 杭州迪普科技有限公司 一种提高tcp连接复用处理效率的方法及装置
CN102916953A (zh) * 2012-10-12 2013-02-06 青岛海信传媒网络技术有限公司 基于tcp连接实现并发服务的方法及装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104298565A (zh) * 2014-10-30 2015-01-21 北京星网锐捷网络技术有限公司 一种初始化端口的方法及装置
CN104298565B (zh) * 2014-10-30 2017-11-24 北京星网锐捷网络技术有限公司 一种初始化端口的方法及装置
CN105681930A (zh) * 2016-01-12 2016-06-15 深圳羚羊极速科技有限公司 与流媒体服务器建立快速的tcp连接方式
CN106385448A (zh) * 2016-09-13 2017-02-08 郑州云海信息技术有限公司 一种客户端与服务端进行通信的方法及装置
CN109496418A (zh) * 2018-05-31 2019-03-19 优视科技新加坡有限公司 文件下载方法、装置及设备/终端/服务器
CN111416802A (zh) * 2020-03-11 2020-07-14 北京字节跳动网络技术有限公司 基于tcp的数据处理方法、装置、电子设备和可读介质
CN111416802B (zh) * 2020-03-11 2022-04-19 北京字节跳动网络技术有限公司 基于tcp的数据处理方法、装置、电子设备和可读介质

Similar Documents

Publication Publication Date Title
CN102377686B (zh) 一种消息订阅系统、消息订阅方法及装置
CN103685480A (zh) 一种传输控制协议网络实现方法以及一种服务器
JP5686523B2 (ja) 通信装置及び制御方法
CN110808948B (zh) 远程过程调用方法、装置及系统
CN106790022B (zh) 基于多查询线程的通信方法及其系统
CN109313623B (zh) 切换串口数据传输状态的方法及装置
CN107682460B (zh) 一种分布式存储集群数据通信方法及系统
CN103312528A (zh) 一种心跳消息发送方法及用户终端
CN105389278A (zh) 一种基于can总线的主从机串行通信方法
CN105528254A (zh) 一种业务处理方法及装置
CN105515962A (zh) 一种信息处理方法和智能家居设备
CN110333916B (zh) 请求消息处理方法、装置、计算机系统及可读存储介质
CN104601376A (zh) 心跳报文发送方法及装置
CN112511621B (zh) 数据发送方法及装置、存储介质、电子装置
CN104009956A (zh) 一种基于嵌入式多核协处理网闸系统的通信方法
US20150215414A1 (en) Out of band electronic signaling
CN104079398A (zh) 一种数据通信方法、装置及系统
CN105227984A (zh) 遥控器按键分配方法和装置
US11700189B2 (en) Method for performing task processing on common service entity, common service entity, apparatus and medium for task processing
US10869172B2 (en) Management of communication between M2M device and M2M server with finite state transitions created by the M2M device
US20160094683A1 (en) Channel connection management method and apparatus
CN113992740B (zh) 一种基于自主可控的中间件及数据传输方法
WO2023001020A1 (zh) 基于正交架构的业务板卡启动方法、业务板卡及正交设备
US20090198768A1 (en) Asynchronous request-response communication method
CN103530342A (zh) 数据共享方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Free format text: FORMER OWNER: SHENZHEN ANYUN INFORMATION TECHNOLOGY CO., LTD.

Effective date: 20150710

Owner name: SHENZHEN ANYUN INFORMATION TECHNOLOGY CO., LTD.

Free format text: FORMER OWNER: COOL CLOUDZ INFORMATION TECHNOLOGY (WUXI) CO., LTD.

Effective date: 20150710

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150710

Address after: 518057 Guangdong city of Shenzhen province Nanshan District Hing Road two No. 6 Shenzhen building B403 - III University Wuhan University

Applicant after: Shenzhen Anyun Information Technology Co., Ltd.

Address before: 214135 Jiangsu New District of Wuxi, Taihu international science and Technology Parks Linghu Road No. 200 Chinese micro nano sensor network of International Innovation Park Building No. 1

Applicant before: Clouds creators information technology (Wuxi) Co., Ltd.

Applicant before: Shenzhen Anyun Information Technology Co., Ltd.

RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20140326