CN107196819A - 一种网络连接的方法及其系统、存储设备 - Google Patents

一种网络连接的方法及其系统、存储设备 Download PDF

Info

Publication number
CN107196819A
CN107196819A CN201710362153.4A CN201710362153A CN107196819A CN 107196819 A CN107196819 A CN 107196819A CN 201710362153 A CN201710362153 A CN 201710362153A CN 107196819 A CN107196819 A CN 107196819A
Authority
CN
China
Prior art keywords
intended application
originating end
connection
application
peer node
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.)
Granted
Application number
CN201710362153.4A
Other languages
English (en)
Other versions
CN107196819B (zh
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.)
Wangsu Science and Technology Co Ltd
Original Assignee
Wangsu Science and Technology 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 Wangsu Science and Technology Co Ltd filed Critical Wangsu Science and Technology Co Ltd
Priority to CN201710362153.4A priority Critical patent/CN107196819B/zh
Publication of CN107196819A publication Critical patent/CN107196819A/zh
Application granted granted Critical
Publication of CN107196819B publication Critical patent/CN107196819B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0811Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/146Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • H04L69/162Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种网络连接的方法,所述方法包括:发起端应用与对端节点建立连接,所述发起端应用将目标应用名称发送至所述对端节点;所述对端节点与所述目标应用建立连接,所述对端节点将连接文件描述符发送至所述目标应用;根据所述连接文件描述,所述目标应用向所述发起端应用返回连接响应;当所述发起端应用接收到成功连接响应时,所述发起端应用与所述目标应用建立连接,以进行数据传输;将网络连接分为先通过发起端应用与对端节点建立连接,再通过对端节点使发起端应用与目标应用之间建立连接,后续发起端应用与目标应用之间数据传输无需通过对端节点转发,不会造成网络性能下降。本发明还提供一种网络连接的系统及其存储设备。

Description

一种网络连接的方法及其系统、存储设备
技术领域
本发明涉及互联网技术领域,尤其涉及一种网络连接的方法及其系统、存储设备。
背景技术
分布式平台将分散的资源整合在一起,为用户提供高可用、高可扩展性的开发平台。分布式平台各个节点之间通过网络进行数据交互,因此网络连接是分布式平台的基础组成部分,特别是对于大吞吐量的分布式应用,网络连接技术对整个分布式应用的性能表现有关键性影响。现有常见的分布式平台的网络连接技术,一般是每个应用节点监听一个应用私有的TCP(Transmission Control Protocol,传输控制协议)端口,当需要发送数据时,新创建一条网络连接,发送完成后断开连接;或者等待空闲的网络连接,发送完成后让出连接用于发送其它数据。
现有的网络连接技术存在三个弊端:
1.应用需要在所有节点上找到相同的空闲TCP端口进行监听,容易产生冲突,往往需要多次协商,而且TCP端口个数有限;
2.如果每个数据新建连接的话,系统开销很大,如果等待空闲的网络连接,发送速度会下降;
3.当网络传输数据量的迅速增大时,网络处理会很快成为瓶颈。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种网络连接的方法和系统。所述技术方案如下:
一方面,一种网络连接的方法,包括以下步骤:
发起端应用与对端节点建立连接,所述发起端应用将目标应用名称发送至对端节点;
所述对端节点与所述目标应用建立连接,所述对端节点将连接文件描述符发送至所述目标应用;
根据所述连接文件描述,所述目标应用向所述发起端应用返回连接响应;
当所述发起端接收到成功连接响应时,所述发起端应用与所述目标应用建立连接,以进行数据传输。
进一步的,当所述发起端接收到成功连接响应时,所述发起端应用与所述目标应用建立连接,以进行数据传输的步骤包括:
发起端应用将多个数据块发送至调度器;
所述调度器查询所述连接的发送队列是否空闲,当所述连接的发送队列空闲时,将所述数据块发送到所述目标应用,其中发送多次所述数据块共用一条所述连接,或者发送一次所述数据块采用一条所述连接。
进一步的,
调度器查询所述连接的发送队列是否空闲,当所述连接的发送队列空闲时,将所述数据块发送到所述目标应用的步骤之后,包括:
所述目标应用根据多个所述数据块的接收顺序返回确认报文;
根据所述确认报文,所述目标应用将发送结果返回给所述发起端应用。
进一步的,当所述发起端接收到成功连接响应时,所述发起端应用与所述目标应用建立连接,以进行数据传输的步骤包括:
所述发起端应用将多个数据块按发送顺序插入到发送缓冲器;
当所述发送缓冲器已满或发送暂存时间已到时,对所述发送缓冲器中的多个所述数据块进行数据压缩。
进一步的,当所述发送缓冲器已满或发送暂存时间已到时,对所述发送缓冲器中的多个所述数据块进行数据压缩的步骤之后,包括:
将所述压缩后的数据通过所述连接发送到目标应用;
所述目标应用将所述压缩后的数据进行解压缩,得到与发送顺序一致的多个数据块。
另一方面,一种网络连接的系统,所述系统包括发起端应用、对端节点及目标应用,其中:
所述发起端应用,与所述对端节点建立连接,并将目标应用名称发送至所述对端节点;
所述对端节点,与所述目标应用建立连接,并将连接文件描述符发送至所述目标应用;
所述目标应用,用于根据所述连接文件描述,向所述发起端应用返回连接响应;
当所述发起端应用接收到成功连接响应时,所述发起端应用与所述目标应用建立连接,以进行数据传输。
进一步的,还包括调度器,所述发起端应将多个数据块发送至所述调度器;
所述调度器查询所述连接的发送队列是否空闲,当所述连接的发送队列空闲时,将所述数据块发送到所述目标应用,其中发送多次所述数据块共用一条所述连接,或者发送一次所述数据块采用一条所述连接。
进一步的,目标应用还用于根据多个所述数据块的接收顺序返回确认报文;并根据所述确认报文将发送结果返回给所述发起端应用。
进一步的,还包括发送缓冲器和压缩模块,其中:
所述发起端应用将多个数据块按发送顺序插入到所述发送缓冲器;
所述压缩模块,用于当所述发送缓冲器已满或发送暂存时间已到时,对所述发送缓冲器中的多个数据块进行数据压缩。
进一步的,还包括:
数据块传输模块,用于将所述压缩后的数据通过所述连接发送到所述目标应用;
所述目标应用,用于将所述压缩后的数据进行解压缩,得到与发送顺序一致的多个数据块。
另一方面,一种存储设备,所述存储设备中存储有多条程序指令,所述程序指令用于执行:
将发起端应用与对端节点建立连接,所述发起端应用将目标应用名称发送至所述对端节点;
将所述对端节点与所述目标应用建立连接,所述对端节点将连接文件描述符发送至所述目标应用;
根据所述连接文件描述,所述目标应用向所述发起端应用返回连接响应;
当所述发起端应用接收到成功连接响应时,所述发起端应用与所述目标应用建立连接,以进行数据传输。
本发明实施例提供的技术方案带来的有益效果是:将网络连接分为先通过发起端应用与对端节点建立连接,再通过对端节点使发起端应用与目标应用之间建立连接,后续发起端应用与目标应用之间数据传输无需通过对端节点转发,不会造成网络性能下降,也无需在对端节点监听私有TCP端口,减少了TCP端口的冲突和TCP端口资源的消耗。
另外,发起端应用与目标应用之间数据传输采用流水线(PIPELINE)技术,多次发送数据可以共用一条连接,且无需等待上一次发送的确认报文就可以继续发送,收到报文后按发送顺序进行确认,网络连接性能高,能满足大数据量和高频交互的应用需求。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的一种网络连接的方法的流程图;
图2是本发明实施例二提供的一种网络连接的方法的流程图;
图3是本发明实施例三提供的一种网络连接的方法的流程图;
图4是本发明实施例四提供的一种网络连接的系统结构图;
图5是本发明实施例五提供的一种网络连接的系统结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
第一实施例
参见图1所示,本发明第一实施例提供一种网络连接的方法,包括步骤101~步骤104,详述如下。
步骤101:发起端应用与对端节点建立连接,所述发起端应用将目标应用名称发送至所述对端节点。
具体的,节点监听TCP端口,应用监听UNIX SOCKET套接字,发起端应用向对端节点发起TCP连接,发起端应用在TCP连接中将目标应用名称发给对端节点。
其中,在网络上的两个应用通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个Socket。Socket可以被定义描述为两个应用通信通道的端点,一个Socket端点可以用Socket地址(地址IP、端口、协议组成)来描述。Socket作为一种进程通信机制,操作系统会分配唯一一个Socket标识。
步骤102:所述对端节点与所述目标应用建立连接,所述对端节点将连接文件描述符发送至所述目标应用。
具体的,对端节点获取目标应用名称后,向目标应用发起UNIX SOCKET套接字连接,对端节点在UNIX SOCKET套接字连接中使用sendmsg函数将TCP连接文件描述符传递给目标应用。
其中,文件描述符在形式上是一个非负整数。实际上,它是一个索引值,指向内核为每一个进程所维护的该进程打开文件的记录表。当程序打开一个现有文件或者创建一个新文件时,内核向进程返回一个文件描述符。在程序设计中,一些涉及底层的程序编写往往会围绕着文件描述符展开。
步骤103:根据所述连接文件描述,所述目标应用向所述发起端应用返回连接响应。
具体的,目标应用获取TCP连接文件描述符,通过TCP连接向发起端应用返回连接成功响应,连接建立完成;发起端应用与目标应用之间维护固定数量的网络连接,避免网络连接数跟随传输高峰与低谷上下波动,例如避免数据量突然增大,需建立大量连接,系统消耗过大,而数据量少时,空闲太多,固定数量的连接可根据经验值设定。
步骤104:当所述发起端应用接收到成功连接响应时,所述发起端应用与所述目标应用建立连接,以进行数据传输。
具体的,发起端应用与目标应用使用TCP连接进行后续的数据传输,无需通过节点转发,不会造成网络性能下降。
本发明实施例的网络连接的方法,将网络连接分为先通过发起端应用与对端节点建立连接,再通过对端节点使发起端应用与目标应用之间建立连接,后续发起端应用与目标应用之间数据传输无需通过对端节点转发,不会造成网络性能下降,也无需在对端节点监听私有TCP端口,减少了TCP端口的冲突和TCP端口资源的消耗。
第二实施例
参见图2所示,本发明第二实施例提供一种网络连接的方法,其可为实施例一的步骤104的具体步骤,包括步骤201~步骤204,详述如下。
步骤201:发起端应用将多个数据块发送至调度器。
其中,调度器是一个进程调度器,其一般原理是,按所需分配的CPU计算能力,向系统中每个进程提供最大的公正性,或者从另外一个角度上说,调度器试图确保没有进程被亏待。
步骤202:所述调度器查询所述连接的发送队列是否空闲,当所述连接的发送队列空闲时,将所述数据块发送到所述目标应用。
具体的,调度器例如可使用轮询等调度方式,选择某条网络连接,保证各条网络连接负载均衡;数据块发送使用流水线(PIPELINE)技术,即当网络连接发送队列空闲时,将数据块发送到目标应用,不必等待之前发送的数据块确认。
其中,发送多次所述数据块共用一条所述连接,或者发送一次所述数据块采用一条所述连接。
步骤203:所述目标应用根据多个所述数据块的接收顺序返回确认报文。
具体的,多次发送共用一条网络连接,无需等待上一次发送的确认报文就可以继续发送,收到确认报文后按发送顺序进行确认。
其中,TCP提供的确认机制,可以在通信过程中可以不对每一个TCP数据块发出单独的确认包(Delayed ACK机制),而是在传送数据时,顺便把确认报文传出,这样可以大大提高网络的利用率和传输效率。
步骤204:根据所述确认报文,所述目标应用将发送结果返回给所述发起端应用。
其中,若发起端应用在规定时间内没有收到目标应用的确认报文,就要将未被确认的数据块重新发送。目标应用如果收到一个有差错的报文,则丢弃此报文,并不向发起端应用发送确认报文。
TCP协议应当保证数据报按序到达接收方。如果目标应用收到的确认报文没有错误,只是未按序号时,则通常有两种方法进行处理:一是对没有按序号到达的报文直接丢弃,二是将未按序号到达的数据包先放于缓冲区内,等待它前面的序号包到达后,再将它交给应用进程。
本发明实施例的网络连接的方法,发起端应用于目标应用之间数据传输采用流水线(PIPELINE)技术,多次发送数据可以共用一条网络连接,且无需等待上一次发送的确认报文就可以继续发送,收到报文后按发送顺序进行确认,网络连接性能高,能满足大数据量和高频交互的应用需求。
第三实施例
参见图3所示,本发明第三实施例提供一种网络连接的方法,其可为实施例一的步骤104的另一具体步骤,包括步骤301~步骤304,详述如下。
步骤301:所述发起端应用将多个数据块按发送顺序插入到发送缓冲器。
其中,缓冲器是一个用于特定基本类型数据的容器。
步骤302:当所述发送缓冲器已满或发送暂存时间已到时,对所述发送缓冲器中的多个所述数据块进行数据压缩。
具体的,判断发送缓冲器是否已满或发送暂存时间已到,若是,则对所述发送缓冲器中的多个所述数据块进行数据压缩;若否,则直接返回,不立即发送。
步骤303:将所述压缩后的数据通过所述连接发送到目标应用。
具体的,将多个数据块合并后,进行数据压缩后,通过所述连接发送到目标应用。
其中,数据压缩能够实现是因为多数现实世界的数据都有统计冗余。例如,字母“e”在英语中比字母“z”更加常用,字母“q”后面是“z”的可能性非常小。无损数据压缩通常利用了统计冗余,这样就能更加简练地、但仍然是完整地表示发送方的数据。
如果允许一定程度的保真度损失,那么还可以实现进一步的压缩。例如,人们看图画或者电视画面的时候可能并不会注意到一些细节并不完善。同样,两个音频录音采样序列可能听起来一样,但实际上并不完全一样。有损数据压缩在带来微小差别的情况下使用较少的位数表示图像、视频或者音频。
步骤304:所述目标应用将所述压缩后的数据进行解压缩,得到与发送顺序一致的多个数据块。
具体的,目标应用收到数据后,首先进行解压缩,得到与发送顺序一致的多个数据块,然后交给目标应用处理。
其中,解压缩是压缩的反过程,是将一个通过软件压缩的文档、文件等各种东西恢复到压缩之前的样子。
本发明实施例的网络连接的方法,先将多个数据块做短暂的缓存,合并成大块数据,进行数据压缩,比每个数据块分别压缩,整体压缩比更高,减小网络传输量。
第四实施例
参见图4所示,本发明第四实施例提供一种网络连接的系统10,能实现前述第一至三实施例中的网络连接的方法,并达到相同或相似的效果。所述网络连接的系统10包括发起端应用11、对端节点12及目标应用13,其中:
发起端应用11,与对端节点12建立连接,并将目标应用13名称发送至对端节点12。
具体的,节点监听TCP端口,应用监听UNIX SOCKET套接字,发起端应用11向对端节点12发起TCP连接,发起端应用11在TCP连接中将目标应用13名称发给对端节点12。
其中,在网络上的两个应用通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个Socket。Socket可以被定义描述为两个应用通信通道的端点,一个Socket端点可以用Socket地址(地址IP、端口、协议组成)来描述。Socket作为一种进程通信机制,操作系统会分配唯一一个Socket标识。
对端节点12,与目标应用13建立连接,并将连接文件描述符发送至目标应用13。
具体的,对端节点12获取目标应用13名称后,向目标应用13发起UNIX SOCKET套接字连接,对端节点12在UNIX SOCKET套接字连接中使用sendmsg函数将TCP连接文件描述符传递给目标应用13。
其中,文件描述符在形式上是一个非负整数。实际上,它是一个索引值,指向内核为每一个进程所维护的该进程打开文件的记录表。当程序打开一个现有文件或者创建一个新文件时,内核向进程返回一个文件描述符。在程序设计中,一些涉及底层的程序编写往往会围绕着文件描述符展开。
目标应用13,用于根据连接文件描述,向发起端应用11返回连接响应,当发起端应用11接收到成功连接响应时,发起端应用11与目标应用13建立连接,以进行数据传输。
具体的,目标应用13获取TCP连接文件描述符,通过TCP连接向发起端应用11返回连接成功响应,连接建立完成;发起端应用11与目标应用13之间之间维护固定数量的网络连接,避免网络连接数跟随传输高峰与低谷上下波动,例如避免数据量突然增大,需建立大量连接,系统消耗过大,而数据量少时,空闲太多,固定数量的连接可根据经验值设定。
本发明实施例的网络连接的系统10,将网络连接分为先通过发起端应用11与对端节点12建立连接,再通过对端节点12使发起端应用11与目标应用13之间建立连接,后续发起端应用11与目标应用13之间数据传输无需通过对端节点12转发,不会造成网络性能下降,也无需在对端节点12监听私有TCP端口,减少了TCP端口的冲突和TCP端口资源的消耗。
第五实施例
如图5所示,本发明第五实施例提供一种网络连接的系统20,相较于第四实施例的网络连接的系统,该实施例的网络连接的系统20还包括调度器14,发起端应用11将多个数据块发送至所述调度器14。
其中,调度器14是一个进程调度器,其一般原理是,按所需分配的CPU计算能力,向系统中每个进程提供最大的公正性,或者从另外一个角度上说,调度器14试图确保没有进程被亏待。
调度器14查询所述连接的发送队列是否空闲,当所述连接的发送队列空闲时,将所述数据块发送到所述目标应用13,其中发送多次所述数据块共用一条所述连接,或者发送一次所述数据块采用一条所述连接。
具体的,调度器14使用轮询等调度方式,选择某条网络连接,保证各条网络连接负载均衡;数据块发送使用流水线(PIPELINE)技术,即当网络连接发送队列空闲时,将数据块发送到目标应用,不必等待之前发送的数据块确认。
目标应用13还用于根据多个数据块的接收顺序返回确认报文,并根据确认报文将发送结果返回给发起端应用11。
具体的,多次发送共用一条网络连接,无需等待上一次发送的确认报文就可以继续发送,收到确认报文后按发送顺序进行确认。
其中,TCP提供的确认机制,可以在通信过程中可以不对每一个TCP数据块发出单独的确认包(Delayed ACK机制),而是在传送数据时,顺便把确认报文传出,这样可以大大提高网络的利用率和传输效率。
其中,若发起端应用11在规定时间内没有收到目标应用13的确认报文,就要将未被确认的数据块重新发送。目标应用13如果收到一个有差错的报文,则丢弃此报文,并不向发起端应用11发送确认报文。
TCP协议应当保证数据报按序到达接收方。如果目标应用13收到的确认报文没有错误,只是未按序号时,则通常有两种方法进行处理:一是对没有按序号到达的报文直接丢弃,二是将未按序号到达的数据包先放于缓冲区内,等待它前面的序号包到达后,再将它交给应用进程。
本发明实施例的网络连接的系统,发起端应用11与目标应用13之间数据传输采用流水线(PIPELINE)技术,多次发送数据可以共用一条网络连接,且无需等待上一次发送的确认报文就可以继续发送,收到报文后按发送顺序进行确认,网络连接性能高,能满足大数据量和高频交互的应用需求。
请继续参考图5,在一实施例中,本发明提供的网络连接的系统20还包括发送缓冲器15和压缩模块16,其中:
发起端应用11将多个数据块按发送顺序插入到发送缓冲器15;
压缩模块16,用于当发送缓冲器15已满或发送暂存时间已到时,对发送缓冲器15中的多个数据块进行数据压缩。
其中,缓冲器是一个用于特定基本类型数据的容器。
具体的,判断发送缓冲器15是否已满或发送暂存时间已到,若是,则对所述发送缓冲器15中的多个数据块进行数据压缩;若否,则直接返回,不立即发送。
请继续参考图5,在一实施例中,本发明提供的网络连接的系统20还包括:
数据块传输模块17,用于将压缩后的数据通过连接发送到目标应用13。
目标应用13,用于将所述压缩后的数据进行解压缩,得到与发送顺序一致的多个数据块。具体的,将多个数据块合并后,进行数据压缩后,通过网络连接发送到目标应用。
其中,数据压缩能够实现是因为多数现实世界的数据都有统计冗余。例如,字母“e”在英语中比字母“z”更加常用,字母“q”后面是“z”的可能性非常小。无损数据压缩通常利用了统计冗余,这样就能更加简练地、但仍然是完整地表示发送方的数据。
如果允许一定程度的保真度损失,那么还可以实现进一步的压缩。例如,人们看图画或者电视画面的时候可能并不会注意到一些细节并不完善。同样,两个音频录音采样序列可能听起来一样,但实际上并不完全一样。有损数据压缩在带来微小差别的情况下使用较少的位数表示图像、视频或者音频。
具体的,目标应用13收到数据后,首先进行解压缩,得到与发送顺序一致的多个数据块,然后交给本机的应用处理。
其中,解压缩是压缩的反过程,是将一个通过软件压缩的文档、文件等各种东西恢复到压缩之前的样子。
本发明实施例的网络连接的系统,先将多个数据块做短暂的缓存,合并成大块数据,进行数据压缩,比每个数据块分别压缩,整体压缩比更高,减小网络传输量。
第六实施例
前述第一至三实施例中的网络连接的方法可通过程序指令来执行,而程序指令可存于已存储设备中。本发明第六实施例提供一种存储设备,所述存储设备中存储有多条程序指令,所述程序指令用于执行:
将发起端应用与对端节点建立连接,所述发起端应用将目标应用名称发送至所述对端节点;
将所述对端节点与所述目标应用建立连接,所述对端节点将连接文件描述符发送至所述目标应用;
根据所述连接文件描述,所述目标应用向所述发起端应用返回连接响应;
当所述发起端应用接收到成功连接响应时,所述发起端应用与所述目标应用建立连接,以进行数据传输。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (11)

1.一种网络连接的方法,其特征在于,所述方法包括:
发起端应用与对端节点建立连接,所述发起端应用将目标应用名称发送至所述对端节点;
所述对端节点与所述目标应用建立连接,所述对端节点将连接文件描述符发送至所述目标应用;
根据所述连接文件描述,所述目标应用向所述发起端应用返回连接响应;
当所述发起端应用接收到成功连接响应时,所述发起端应用与所述目标应用建立连接,以进行数据传输。
2.根据权利要求1所述的方法,其特征在于,所述当所述发起端应用接收到成功连接响应时,所述发起端应用与所述目标应用建立连接,以进行数据传输的步骤包括:
所述发起端应用将多个数据块发送至调度器;
所述调度器查询所述连接的发送队列是否空闲,当所述连接的发送队列空闲时,将所述数据块发送到所述目标应用,其中发送多次所述数据块共用一条所述连接,或者发送一次所述数据块采用一条所述连接。
3.根据权利要求2所述的方法,其特征在于,所述调度器查询所述连接的发送队列是否空闲,当所述连接的发送队列空闲时,将所述数据块发送到所述目标应用的步骤之后,包括:
所述目标应用根据多个所述数据块的接收顺序返回确认报文;
根据所述确认报文,所述目标应用将发送结果返回给所述发起端应用。
4.根据权利要求1所述的方法,其特征在于,所述当所述发起端应用接收到成功连接响应时,所述发起端应用与所述目标应用建立连接,以进行数据传输的步骤包括:
所述发起端应用将多个数据块按发送顺序插入到发送缓冲器;
当所述发送缓冲器已满或发送暂存时间已到时,对所述发送缓冲器中的多个所述数据块进行数据压缩。
5.根据权利要求4所述的方法,其特征在于,所述当所述发送缓冲器已满或发送暂存时间已到时,对所述发送缓冲器中的多个所述数据块进行数据压缩的步骤之后,包括:
将所述压缩后的数据通过所述连接发送到所述目标应用;
所述目标应用将所述压缩后的数据进行解压缩,得到与发送顺序一致的多个数据块。
6.一种网络连接的系统,其特征在于,所述网络连接的系统包括发起端应用、对端节点及目标应用,其中:
所述发起端应用,与所述对端节点建立连接,并将目标应用名称发送至所述对端节点;
所述对端节点,与所述目标应用建立连接,并将连接文件描述符发送至所述目标应用;
所述目标应用,用于根据所述连接文件描述,向所述发起端应用返回连接响应;
当所述发起端应用接收到成功连接响应时,所述发起端应用与所述目标应用建立连接,以进行数据传输。
7.根据权利要求6所述的网络连接的系统,其特征在于,还包括调度器,
所述发起端应将多个数据块发送至所述调度器;
所述调度器查询所述连接的发送队列是否空闲,当所述连接的发送队列空闲时,将所述数据块发送到所述目标应用,其中发送多次所述数据块共用一条所述连接,或者发送一次所述数据块采用一条所述连接。
8.根据权利要求7所述的网络连接的系统,其特征在于,所述目标应用还用于根据多个所述数据块的接收顺序返回确认报文;并根据所述确认报文将发送结果返回给所述发起端应用。
9.根据权利要求6所述的网络连接的系统,其特征在于,还包括发送缓冲器和压缩模块,其中:
所述发起端应用将多个数据块按发送顺序插入到所述发送缓冲器;
所述压缩模块,用于当所述发送缓冲器已满或发送暂存时间已到时,对所述发送缓冲器中的多个数据块进行数据压缩。
10.根据权利要求9所述的网络连接的系统,其特征在于,还包括:
数据块传输模块,用于将所述压缩后的数据通过所述连接发送到所述目标应用;
所述目标应用,用于将所述压缩后的数据进行解压缩,得到与发送顺序一致的多个数据块。
11.一种存储设备,所述存储设备中存储有多条程序指令,其特征在于,所述程序指令用于执行:
将发起端应用与对端节点建立连接,所述发起端应用将目标应用名称发送至所述对端节点;
将所述对端节点与所述目标应用建立连接,所述对端节点将连接文件描述符发送至所述目标应用;
根据所述连接文件描述,所述目标应用向所述发起端应用返回连接响应;
当所述发起端应用接收到成功连接响应时,所述发起端应用与所述目标应用建立连接,以进行数据传输。
CN201710362153.4A 2017-05-22 2017-05-22 一种网络连接的方法及其系统、计算机可读存储介质 Active CN107196819B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710362153.4A CN107196819B (zh) 2017-05-22 2017-05-22 一种网络连接的方法及其系统、计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710362153.4A CN107196819B (zh) 2017-05-22 2017-05-22 一种网络连接的方法及其系统、计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN107196819A true CN107196819A (zh) 2017-09-22
CN107196819B CN107196819B (zh) 2020-01-03

Family

ID=59874220

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710362153.4A Active CN107196819B (zh) 2017-05-22 2017-05-22 一种网络连接的方法及其系统、计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN107196819B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115086441A (zh) * 2022-06-09 2022-09-20 北京百度网讯科技有限公司 信息传输方法、装置、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050276281A1 (en) * 2004-06-09 2005-12-15 Emc Corporation Methods, systems, and computer program products for transparently controlling communications between network applications and a plurality of network communications protocol stacks using deferred protocol stack association
CN101206590A (zh) * 2006-12-21 2008-06-25 国际商业机器公司 用于扩展用于通信的Unix域套接字的方法、装置和系统
CN102664914A (zh) * 2012-03-22 2012-09-12 北京英孚斯迈特信息技术有限公司 一种IS/DFS-Image分布式文件存储查询系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050276281A1 (en) * 2004-06-09 2005-12-15 Emc Corporation Methods, systems, and computer program products for transparently controlling communications between network applications and a plurality of network communications protocol stacks using deferred protocol stack association
CN101206590A (zh) * 2006-12-21 2008-06-25 国际商业机器公司 用于扩展用于通信的Unix域套接字的方法、装置和系统
CN102664914A (zh) * 2012-03-22 2012-09-12 北京英孚斯迈特信息技术有限公司 一种IS/DFS-Image分布式文件存储查询系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
上海市信息化委员会,上海LINUX产业发展专业人才培训基地: "《Linux开发篇 环境编程技术》", 30 October 2008 *
阮戈,林魏: "《最新Unix程序设计与编程技巧》", 30 June 2001 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115086441A (zh) * 2022-06-09 2022-09-20 北京百度网讯科技有限公司 信息传输方法、装置、电子设备及存储介质
CN115086441B (zh) * 2022-06-09 2024-03-19 北京百度网讯科技有限公司 信息传输方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN107196819B (zh) 2020-01-03

Similar Documents

Publication Publication Date Title
US20200314181A1 (en) Communication with accelerator via RDMA-based network adapter
CN101217493B (zh) 一种tcp数据包的传输方法
US8458280B2 (en) Apparatus and method for packet transmission over a high speed network supporting remote direct memory access operations
US7930349B2 (en) Method and apparatus for reducing host overhead in a socket server implementation
CN107104936B (zh) 建立全双工双向通信的方法和系统
US20070208820A1 (en) Apparatus and method for out-of-order placement and in-order completion reporting of remote direct memory access operations
CN108268208A (zh) 一种基于rdma的分布式内存文件系统
CN108494817A (zh) 数据传输方法、相关装置及系统
CN108270732A (zh) 一种流媒体处理方法及系统
WO2014082562A1 (en) Method, device, and system for information processing based on distributed buses
WO2006124718A2 (en) Method and system for closing an rdma connection
CN112631788B (zh) 数据传输方法及数据传输服务器
CN110581812A (zh) 一种数据报文的处理方法和装置
US7469295B1 (en) Modified round robin load balancing technique based on IP identifier
WO2018023988A1 (zh) 一种网络报文处理方法、装置及网络服务器
CN110535811B (zh) 远端内存管理方法及系统、服务端、客户端、存储介质
WO2023236589A1 (zh) 一种通信方法及相关组件
WO2015113435A1 (zh) 基于并行协议栈实例的数据包处理方法和装置
US7580410B2 (en) Extensible protocol processing system
CN1863202B (zh) 提高负载均衡设备和服务器处理性能的方法
WO2022100199A1 (zh) 数据传输方法、装置、介质、电子设备及网络接入设备
CN107196819A (zh) 一种网络连接的方法及其系统、存储设备
CN103873443A (zh) 信息处理方法、本地代理服务器和网络代理服务器
CN105915587B (zh) 内容推送方法、系统、以及缓存服务器
WO2020082839A1 (zh) 报文处理方法、相关设备及计算机存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant