CN102457537B - 一种传输控制协议的通信方法及服务器 - Google Patents

一种传输控制协议的通信方法及服务器 Download PDF

Info

Publication number
CN102457537B
CN102457537B CN201010515928.5A CN201010515928A CN102457537B CN 102457537 B CN102457537 B CN 102457537B CN 201010515928 A CN201010515928 A CN 201010515928A CN 102457537 B CN102457537 B CN 102457537B
Authority
CN
China
Prior art keywords
communication
application program
packet
server
communication agent
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.)
Active
Application number
CN201010515928.5A
Other languages
English (en)
Other versions
CN102457537A (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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201010515928.5A priority Critical patent/CN102457537B/zh
Priority to TW100108076A priority patent/TWI555363B/zh
Priority to US13/380,001 priority patent/US8750308B2/en
Priority to EP11834907.5A priority patent/EP2630586A4/en
Priority to PCT/US2011/056430 priority patent/WO2012054347A1/en
Priority to JP2013534976A priority patent/JP5908915B2/ja
Publication of CN102457537A publication Critical patent/CN102457537A/zh
Priority to HK12107081.1A priority patent/HK1166564A1/zh
Application granted granted Critical
Publication of CN102457537B publication Critical patent/CN102457537B/zh
Priority to JP2016060268A priority patent/JP6240248B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • 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]
    • 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/163In-band adaptation of TCP data exchange; In-band control procedures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/19Flow control; Congestion control at layers above the network layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • H04L47/266Stopping or restarting the source, e.g. X-on or X-off
    • 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/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/2876Pairs of inter-processing entities at each side of the network, e.g. split proxies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams

Abstract

本申请公开了一种传输控制协议的通信方法及服务器。第一服务器的第一通信代理接收第一应用程序发送的数据包,解析数据包目的地址,确定接收该数据包的第二应用程序所在的第二服务器;将数据包放入到第一队列中并通过第一通信代理与第二服务器的第二通信代理之间的数据链路的常连接,发送至第二通信代理。第一服务器的第一通信代理通过数据链路的常连接,接收由第二通信代理转发的第二应用程序发送的数据包,解析数据包的目的地址,将数据包放入第二队列中并通过进程间通信连接发送至接收该数据包的第一应用程序。本申请大大减少了第一应用程序和第二应用程序之间实际的连接数量,有效地节约了系统维护TCP连接所需耗费的资源。

Description

一种传输控制协议的通信方法及服务器
技术领域
本申请涉及网络通信领域,尤其涉及一种传输控制协议TCP的通信方法及服务器。
背景技术
通信的双方如果需要通过传输控制协议(TCP,TransmissionControlProtocol)进行通信,需要在通信双方例如客户端(client)应用程序与服务器(server)应用程序之间建立一个TCP连接,然后在这个连接上相互发送数据。TCP协议中,使用IP地址和端口标识一个通信方,端口标识是一个16位的无符号整数,取值在1~65535之间。
以服务器应用程序和客户端应用程序之间建立TCP连接的流程为例,在建立连接前,服务器应用程序首先打开一个端口,并在该端口监听(Listen);然后客户端应用程序也打开一个端口,并在该端口上向服务器应用程序监听的端口发起一个连接(Connect),在服务器应用程序与客户端应用程序之间建立TCP连接的过程至少需要三次握手。
要实现两台服务器的应用程序(例如客户端应用程序和服务器应用程序)之间的TCP通信,通常的做法会在两个服务器的应用程序之间一一建立TCP连接,如图1所示,服务器1上的每个应用程序(A~D)分别与服务器2上各应用程序(E~H)分别建立TCP连接。
只要两个服务器的应用程序之间需要进行通信,它们之间就会建立起一个TCP连接,直到不需要这个连接为止。假设每台服务器上各有100个应用程序,就两台服务器而言,它们之间的应用程序如果都需要建立彼此之间的TCP连接,就会建立100*100个TCP连接,即1万个TCP连接,对于操作系统和协议栈来说,维护如此多的TCP连接,需要消耗大量的系统资源。为了避免同时存在大量的TCP连接占用系统资源的问题,一种解决的方案是,在应用程序用完TCP连接后,尽可能地快速关闭连接,但如果下次再次需要建立连接,那么需要重新打开端口重新建立连接。重新建立连接需要三次握手的过程,显然也会使得应用程序受到延时的影响。
尤其对于建立大规模的集群来说,如果该集群有5000台服务器,平均一台服务器上有100个应用程序,那么最多需要建立50万个TCP连接,一方面维护这么多的TCP连接状态需要耗费大量的系统资源,另一方面即使不同时维护如此多的TCP连接,如此数量众多的TCP连接需要频繁地被打开或关闭,应用程序的处理也会受到频繁延时的影响。
发明内容
本申请实施例提供一种传输控制协议的通信方法及服务器,用以解决现有传输控制协议中,通信双方数量较多的应用程序之间需要进行网络通信时,维护大量的TCP连接所带来的系统资源耗费以及应用程序延时的问题。
本申请实施例提供的传输控制协议的通信方法之一,包括:
第一服务器的第一通信代理接收所述第一服务器的第一应用程序发送的数据包;
所述第一通信代理解析所述数据包中的目的地址,确定所述目的地址指示的接收所述数据包的第二应用程序所在的第二服务器;
所述第一通信代理将所述数据包放入到第一通信代理和所述第二服务器的第二通信代理之间、与接收所述数据包的第二应用程序对应第一队列中,并通过第一通信代理与第二通信代理之间预先建立的数据链路的常连接,将所述数据包发送至所述第二通信代理。
本申请实施例提供的传输控制协议的通信方法之二,包括:
第一服务器的第一通信代理通过所述第一通信代理与第二服务器的第二通信代理之间预先建立的数据链路的常连接,接收由所述第二通信代理转发的所述第二服务器的第二应用程序发送的数据包;
所述第一通信代理解析所述数据包中的目的地址,确定所述目的地址指示的接收所述数据包的第一服务器的第一应用程序;
所述第一通信代理将接收的所述数据包放入到第一通信代理与所述第一应用程序之间的第二队列中,并通过第一通信代理与第一应用程序之间预先建立的进程间通信连接发送至所述第一应用程序。
本申请实施例提供的服务器之一,包括:
接收单元,用于接收所述服务器的第一应用程序发送的数据包;
地址解析单元,用于解析所述数据包中的目的地址,确定所述目的地址指示的接收所述数据包的第二应用程序所在的第二服务器;
发送单元,用于将所述数据包放入到所述服务器的第一通信代理和所述第二服务器的第二通信代理之间、与接收所述数据包的第二应用程序对应第一队列中,并通过第一通信代理与第二通信代理之间预先建立的数据链路的常连接,将所述数据包发送至所述第二通信代理。
本申请实施例提供的服务器之二,包括:
接收单元,用于通过所述服务器的第一通信代理与第二服务器的第二通信代理之间预先建立的数据链路的常连接,接收由所述第二通信代理转发的所述第二服务器的第二应用程序发送的数据包;
地址解析单元,用于解析所述数据包中的目的地址,确定所述目的地址指示的接收所述数据包的所述服务器的第一应用程序;
发送单元,用于将接收的所述数据包放入到第一通信代理与所述第一应用程序之间的第二队列中,并通过第一通信代理与第一应用程序之间预先建立的进程间通信连接发送至所述第一应用程序。
本申请实施例提供的传输控制协议的通信的方法及服务器的有益效果包括:
本申请实施例提供的传输控制协议的通信方法及服务器,通过在第一服务器上设置第一通信代理,第二服务器上设置第二通信代理,第一通信代理和第二通信代理之间通过数据链路的常连接相连,第一服务器上所有的应用程序可通过第一通信代理与第二通信代理之间的数据链路的常连接,与第二服务器上的各第二应用程序进行数据通信,本申请实施例通过第一通信代理和第二通信代理之间建立的数据链路的常连接,提供了第一服务器上第一应用程序和第二服务器上第二应用程序之间的数据通信通道,与现有技术中多个TCP通信方之间需要建立数量巨大的TCP连接相比,本申请实施例大大减少了第一应用程序和第二应用程序之间实际的连接数量,有效地节约了系统维护TCP连接所需耗费的资源,并且由于数据链路的常连接所具有的连接的稳定性的优点,避免了现有技术中两个应用程序之间进行TCP连接时由于频繁建立和拆除TCP连接所带来的通信延迟,提高了通信效率。
附图说明
图1为现有技术提供的TCP连接的示意图;
图2为本申请实施例提供的TCP连接的示意图;
图3为本申请实施例提供的传输控制协议的通信方法流程图之一;
图4为本申请实施例提供的数据包的格式示意图;
图5为本申请实施例提供的第一通信代理将数据包发送至第二通信代理的示意图;
图6为本申请实施例提供的多个第一应用程序与多个第二应用程序之间进行TCP通信的示意图;
图7为本申请实施例提供的传输控制协议的通信方法流程图之二;
图8为本申请实施例提供的第一通信代理将数据包转发至第一应用程序的示意图;
图9为本申请实施例提供的服务器的结构示意图之一;
图10为本申请实施例提供的服务器的结构示意图之二。
具体实施方式
下面结合附图,对本申请实施例提供的一种传输控制协议的通信方法及服务器进行详细地说明。
本申请实施例提供的一种传输控制协议(TCP)的通信方法,对现有的在服务器的应用程序之间一一建立连接的TCP通信方式进行了改进。如图2所示,本申请实施例中,在通信的两端(第一应用程序和第二应用程序)所在的服务器即第一服务器和第二服务器上,分别设置有第一通信代理(在第一服务器上)和第二通信代理(在第二服务器上)。第一通信代理和第二通信代理均为服务器上可以实现特定功能的软件功能模块。
第一服务器上各个第一应用程序(A~D)分别通过各自的进程间通信连接与第一通信代理相连;同样,第二服务器上各个第二应用程序(E~H)分别通过各自的进程间通信连接与第二通信代理相连。应用程序与通信代理之间的进程间通信连接可以采用服务器操作系统提供的多种进程间通信的方式,包括但不限于下述方式:UnixDomainSocket、本地TCP、共享内存和消息队列(MessageQueue)、管道(Pipe)等。
第一服务器上的第一通信代理和第二服务器上的第二通信代理通过预先建立的数据链路的常连接(DataConnection)相连,与现有技术TCP通信双方建立的TCP连接不同,本申请实施例提供的数据链路的常连接是一种固定的、稳定性较高的连接,第一服务器中的每个第一应用程序都可以通过第一通信代理和第二通信代理,与第二服务器上的第二应用程序进行TCP通信;反过来,第二服务器中的每个第二应用程序都可以通过第二通信代理和第一通信代理,与第一服务器上的第一应用程序进行TCP通信。如图2所示,本申请实施例通过第一通信代理和第二通信代理之间建立的数据链路的常连接,提供了第一服务器上第一应用程序和第二服务器上第二应用程序之间的数据通信通道。该数据链路的常连接实际上替代了现有技术中多个TCP通信方之间的多个TCP连接。本申请实施例只需要在第一服务器的第一通信代理和第二服务器的第二通信代理之间的一个数据链路的常连接,就可以实现第一服务器上多个第一应用程序与第二服务器上多个第二应用程序之间的数据传输,第一应用程序和第二应用程序之间并不存在直接的连接,因此实际的连接数量较现有技术大大减少,这有效地节约了系统资源。
在实际网络应用中,例如大规模的集群应用中,可能存在数量众多的如图2所示的第一服务器和第二服务器,每个第一服务器上的第一通信代理分别与各第二服务器的第二通信代理之间通过数据链路的常连接一一相连;反过来,每个第二服务器上的第二通信代理也分别与各第一服务器的第一通信代理之间通过数据链路的常连接一一相连。为了说明的简便,在申请实施例中仅以两个服务器的通信代理之间的TCP通信方法进行说明。
进一步地,本申请实施例提供的传输控制协议的通信方法,其通信的过程包含两种情形即:
第一种情形:第一服务器上的某个应用程序(以下称为第一应用程序)将数据包发送至第一服务器的第一通信代理,由第一通信代理将其发送至第二服务器的第二通信代理,再由第二通信代理向第二服务器的某个应用程序(以下称第二应用程序)转发该数据包;
第二种情形:第二服务器上的第二应用程序将数据包发送至第二服务器的第二通信代理,由第二通信代理将其发送至第一服务器的第一通信代理,再由第一通信代理向第一服务器的第一应用程序发送数据包。
因为本申请实施例提供的通信方法中,第一服务器的第一通信代理和第二服务器的第二通信代理是实际进行TCP通信的两个对端,因此其网络地位是对称的,所以上述第一种情形中的第一应用程序将数据包发送至第一通信代理,由第一通信代理再将数据包转发给第二通信代理的过程,与上述第二情形中第二应用程序将数据包发送至第二通信代理,由第二通信代理再将数据包转发给第一通信代理的过程相同。同样地,上述第一种情形中的第二通信代理将接收的数据包发送至第二应用程序的过程,与第二情形中第一通信代理将接收的数据包发送至第一应用程序的过程相同。
为了说明的简便和清楚,在本申请实施例中,针对上述两种情形,分别对第一通信代理接收第一应用程序发送的数据包转发给第二通信代理的具体实施过程,以及对第一通信代理从第二通信代理接收第二应用程序发送的数据包再转发给第一应用程序的具体实施过程进行详细说明,本领域的技术人员可根据本申请实施例具体描述的这两个过程,实现第一通信代理到第二通信代理或第二通信代理到第一通信代理之间的双向TCP通信。
首先对本申请实施例中第一通信代理接收第一应用程序发送的数据包转发给第二通信代理的具体实施过程进行详细地说明,如图3所示的流程,该过程包括下述步骤:
S301、第一服务器的第一通信代理接收第一服务器的第一应用程序发送的数据包;
S302、第一通信代理解析接收的数据包中的目的地址,确定该目的地址指示的接收该数据包的第二应用程序所在的第二服务器;
S303、第一通信代理将从第一应用程序接收的数据包放入到第一服务器的第一队列中,该第一队列对应于接收该数据包的第二服务器的第二应用程序,第一通信代理通过第一通信代理与第二通信代理之间预先建立的数据链路的常连接,从该第一队列中取得数据包,并将数据包发送至第二通信代理。
在上述步骤S301中,第一应用程序通过第一通信代理与第一应用程序之间预先建立的进程间通信连接,接收第一应用程序发送的数据包。
各第一应用程序通过各自的进程间通信连接发送的数据包都需要通过同一个数据链路的常连接发送到第二通信代理,并且第二通信代理也需要能够区分各个数据包的目的地址对应的进程间通信连接,将数据包准确地传递至对应的第二应用程序,因此,在本申请实施例中,为了在同一个服务器中区分各个不同的应用程序,需要预先为第一服务器的各个第一应用程序以及第二服务器上的各个第二应用程序分配一个在所属服务器中唯一对应的标识AppID(例如为一个16bit的整数),并且通过IP地址和AppID定位一个应用程序,也就是将(IP,AppID)的二元组作为第一服务器和第二服务器上应用程序的地址。
相应地,本申请实施例定义了在第一应用程序和第二应用程序之间传输的数据包的格式。图4所示,该数据包的格式中包括:其他描述字段、SRC字段、DST字段和净负荷字段(Payload),其中SRC字段是源地址,包含了发出该数据包的第一应用程序的(IP,AppID)二元组,DST字段是目的地址,包含了发出该数据包的第二应用程序的(IP,AppID)二元组,其他字段可包含例如数据包编号和数据包标记(flag)字段等,其中数据包标记字段具体可包含例如数据包优先级、数据包类型(数据消息)等内容。这样,第一通信代理在解析该数据包携带的目的地址时,能够确认接收该数据包的第二应用程序对应的第二通信代理,将数据包发送至第二通信代理,第二通信代理在接收到该数据包之后,也能够根据该数据包携带的目的地址,将该数据包最终传送至对应的第二应用程序。
在上述步骤S303中,第一通信代理将第一程序发送的数据包发送至所述第二通信代理,具体通过下述过程实现:
如图5所示,第一通信代理接收到第一应用程序接收的数据包之后,首先判断在第一通信代理和第二通信代理之间是否已建立有与接收该数据包的第二程序对应的、用于将数据包发送给第二通信代理的第一队列,如果已建立有第一队列,那么将从第一应用程序接收的数据包放入到该第一队列中;如果没有建立第一队列,那么先建立第一队列,然后将从第一应用程序接收的数据放入到建立的第一队列中。将接收的数据包放入第一队列的方式可有多种,例如按接收的时间顺序放入队列,或者按照数据包本身的优先级顺序等,本申请实施例对此不做限定。由于第一队列与实际要接收该数据包的第二应用程序唯一对应,因此,第一通信代理可根据数据包中的目的地址确定出需要接收该数据包的第二应用程序,进而确定将接收数据包放入哪一个第一队列中。
第一通信代理在数据链路的常连接满足带宽要求的条件下,将数据包从第一队列中取出,取出的方式也可以由多种例如采用先入先出顺序取出,或者按照优先级顺序取出等,取出的数据包经由第一通信代理与第二通信代理之间的数据链路的常连接发送至第二通信代理。
进一步地,由于本申请实施例中,当某个数据包的接收端(包括第二通信代理和第二应用程序)需要减缓接收数据的时候,并不能减缓数据链路的常连接上的数据接收,因为其他数据包的接收端并不一定需要减缓数据接收速度。如果第一服务器上某个第一应用程序产生了大量了数据包,可能出现第一队列被填满甚至出现数据包溢出的情况,第一队列上后续的数据包就不能正常发送,为了避免这种情况,较佳地,本申请实施例还为前述传输控制协议的通信方法提供了相应的流量控制机制。
在本申请实施例提供的流量控制机制中,较佳地,还可以在第一服务的第一通信代理和第二服务器的第二通信代理之间建立控制链路的常连接(ControlConnection),该控制链路的常连接,与前述数据链路的常连接类似,是一种固定的、稳定性较高的连接,有别于现有TCP通信双方建立的TCP连接。这种情况下,控制链路的常连接专门负责传递流量控制信令,数据链路的常连接则专门负责数据的接收和发送,当然,本申请实施例也可以只采用一个数据链路的常连接,在这种情况下,将流量控制信令经由数据链路的常连接进行传输,这样做的好处可进一步地减少TCP连接的数量,但是流量控制的效果可能较同时建立两个常连接的效果稍差。
为了避免前述第一队列的数据包溢出,本申请实施例提供流量控制机制如图5所示,在第一通信代理将第一程序发送的数据包发送至所述第二通信代理的过程中,由第一通信代理监测在第一队列数据包数量是否大于等于设定的第一阈值,在监测结果为是时,向发送该数据包的第一应用程序发送指示数据包停止发送的流量控制信令即第一控制信令。
在该第一应用程序接收到该第一控制信令之后,停止向第一通信代理发送数据包,同时第一通信代理还会继续发送第一队列中已有的数据包,随后第一队列中的数据包的数量会逐渐减少。在第一通信代理向第一应用程序发送所述第一控制信令之后,第一通信代理继续监测当前所述第一队列中数据包的数量是否数量是否小于等于设定的第二阈值(第二阈值小于第一阈值);并在监测结果为是时,向第一应用程序发送指示数据包重新开始发送的流量控制信令即第二控制信令。
举个例子来说,当第一通信代理监测第一队列中的数据包的数量大于等于队列长度(即可承受的数据包的总数量)的2/3时,发送指示停止发送数据包的XOFF的信令消息(第一控制信令),在此以后,如果第一通信代理监测第一队列中的数据包的数量小于等于队列长度的1/3时,发送指示数据包重新开始发送数据包的XON的信令消息(第二控制信令)。
在第一通信代理将第一程序发送的数据包发送至所述第二通信代理的过程中,第一通信代理判断是否从第一通信代理和第二通信代理之间预先建立的控制链路的常连接中,接收到第二通信代理发送的指示数据包停止发送的第三控制信令;在判断收到第三控制信令时,第一通信代理暂停当前第一队列中所有数据包的发送。在第一通信代理暂停第一队列中所有数据包的发送之后,第一通信代理还需要继续判断是否从第一通信代理和第二通信代理之间预先建立的控制链路的常连接中,接收到第二通信代理发送的指示数据包开始发送的第四控制信令;在判断收到第四控制信令时,第一通信代理重新开始第一队列中所有数据包的发送。
上述第一~第四控制信令,可采用与前述用于传输数据的数据包类似的格式,与前述用于传输数据的数据包不同之处在于,控制信令中的数据包类型字段为指示该数据包为控制信令的字段。
更进一步地,如果同时建立两个常连接,在控制链路的常连接上,可以采用控制信令队列的方式传输控制信令,该控制信令队列专门用于传输控制信令,保证控制信令拥有较高的发送优先级,第一通信代理或者第二通信代理可以将控制信令放在该控制信令的队列中,每次达到可发送的条件时(例如满足带宽条件),第一通信代理或者第二通信代理优先检查控制队列中是否有控制信令发送,如果有,优先发送之。控制信令的队列保证了控制信令能够及时地到达目的地。
图6是在数据链路的常连接上发送多个第一队列的数据包,以及在控制链路的常连接上发送控制信令队列中控制信令的示意图,从图6上可以看出,第一队列、第二队列的数量由接收端的第二应用程序的数量决定。假设第二通信代理连接有3个第二应用程序(App1、App2和App3),那么由第一应用程序向第二应用程序发送数据包的过程是:第一通信代理接收两个第一应用程序(客户端App1和客户端App2)发送的数据包,根据数据包的目的地址分别将其放入到分别对应于三个第二应用程序的三个第一队列(App1_Q、App2_Q和App3_Q)中去,第一通信代理将三个第一队列中的数据包发送至第二通信代理,第二通信代理接收到数据包之后,放入与三个第二应用程序(App1、App2和App3)相对应的三个第二队列(App1_Q、App2_Q和App3_Q)中,三个第二应用程序分别从该三个第二队列中获得各自的数据包。
另外,在上述步骤S301~S303执行过程中,如果第一通信代理监测到第一服务器上的某个第一应用程序因为某种原因退出时,第一通信代理向与其建立数据链路的常连接的所有第二通信代理发送该第一应用程序退出的广播消息。相应地,接收该广播消息的每一个第二通信代理,都会继续向其连接的所有第二应用程序发送通知该第一应用程序退出的广播消息。之所以使用广播消息来告知某个第一应用程序的退出,目的是为了避免在第一通信代理中记录第一服务器上各个第一应用程序的状态,减轻第一通信代理的负担。为了减少广播消息的数据量,较佳地,本申请实施例中,第一通信代理可采用周期(例如以1s为一个周期)发送广播消息的方法。
相应地,如果某个第一应用程序退出时,在数据链路的常连接上其对应的第一队列所占用的空间也可以随之释放,从而避免不必要的存储资源的浪费。
接下来对本申请实施例中第一通信代理从第二通信代理接收第二应用程序发送的数据包再转发给第一应用程序的具体实施过程进行详细地说明,如图7所示的流程,该过程包括下述步骤:
S701、第一服务器的第一通信代理通过第一通信代理与第二服务器的第二通信代理之间预先建立的数据链路的常连接,接收由第二通信代理转发的第二服务器的第二应用程序发送的数据包;
S702、第一通信代理解析接收的该数据包中的目的地址,确定目的地址指示的接收该数据包的第一服务器的第一应用程序;
S703、第一通信代理将接收的该数据包放入到第一通信代理与确定出的第一应用程序之间的第二队列中,并通过第一通信代理与该第一应用程序之间预先建立的进程间通信连接发送至该第一应用程序。
在上述步骤S702中,确定接收该数据包的第一应用程序可通过下述方法实现:第一通信代理解析数据包中的目的地址即(IP,AppID)二元组,得到接收该数据包的第一应用程序的标识,从而确定接收该数据包的第一应用程序。
在上述步骤S703中,第一通信代理通过与第一应用程序之间预先建立的进程间通信连接,将第二通信代理发送的数据包转发至步骤S702中确定出的第一应用程序。具体的发送过程如下:
如图8所示,第一通信代理接收到数据包之后,首先判断是否与接收该数据包的第一应用程序之间建立有进程间通信连接,如果已建立有,将从第二通信代理接收的数据包放入到第一通信代理与该第一应用程序之间用于将数据包发送至该第一应用程序的第二队列中;如果没有,则需先建立起与接收该数据包的第一应用程序之间的第二队列,然后将数据包放入建立的第二队列,将接收的数据包放入第二队列的方式可有多种,例如按接收的时间顺序放入队列,或者按照数据包本身的优先级顺序等,本申请实施例对此不做限定。第二队列与实际要接收该数据包的第一应用程序唯一对应。
第一通信代理在其与第一应用程序之间预先建立的进程间通信连接满足带宽要求的条件下,将接收的数据包从第二队列中取出,经由第一通信代理与第一应用程序之间预先建立的进程间通信连接发送至该第一应用程序。数据包取出的方式也可以由多种,例如采用先入先出顺序取出,或者按照优先级顺序取出等。
进一步地,上述步骤S703即第一通信代理通过其与所述第一应用程序之间预先建立的进程间通信连接,将数据包发送至所述第一应用程序的过程中,第一通信代理监测当前所述第二队列中数据包的数量是否大于等于设定的第一阈值;并在监测结果为是时,通过第一通信代理和第二通信代理之间预先建立的控制链路的常连接,向第二通信代理发送指示数据包停止发送的第五控制信令。
第二通信代理在收到第五控制信令之后,会停止向第一通信代理发送数据包,而此时第一通信代理不会停止其向第一服务器上的第一应用程序发送数据包的操作,因此,第二队列中已有的数据包的数量会迅速降低,第一通信代理在向第二通信代理发送第五控制信令之后,还继续监测当前所述第二队列中数据包的数量是否数量是否小于等于设定第二阈值(第二阈值小于第一阈值);并在监测结果为是时,通过第一通信代理和第二通信代理之间预先建立的控制链路的常连接,向第二通信代理发送指示数据包重新开始发送的第六控制信令。
如果第一服务器上的第一应用程序想要减缓数据的接收力度,也可向第一通信代理发送相应的流量控制信令。第一通信代理除了主动监测第二队列中的数据包的数量之外,还监测是否收到了第一应用程序发送的流量控制信令,具体地就是判断是否从其与第一应用程序之间预先建立的进程间通信连接中接收到该第一应用程序发送的指示数据包停止发送的第七控制信令;在判断接收到第七控制信令时,第一通信代理将暂停当前第二队列中所有数据包的发送。
在暂停当前第二队列中所有数据包的发送操作之后,第一通信代理判断是否从其与第一应用程序之间预先建立的进程间通信连接中接收到该第一应用程序发送的指示数据包发送的第八控制信令;在判断收到第八控制信令时,第一通信代理将重新开始第二队列中所有数据包的发送。
另外,在上述步骤S701~S703执行过程中,如果第一通信代理收到其他第二通信代理发送的该第二通信代理所在的第二服务器的第二应用程序退出的广播消息时,第一通信代理将接收的该广播消息广播至第一服务器的所有第一应用程序。
对于第二服务器来说,在某个第二应用程序退出的情况下,还可以释放掉与该第二应用程序对应的第二队列所占用的空间,避免不必要的存储资源的浪费。
基于同一发明构思,本申请实施例还提供了一种服务器,由于该服务器解决问题的原理与前述一种传输控制协议的通信方法相似,因此该服务器的实施可以参见方法的实施,重复之处不再赘述。
本申请实施例提供的服务器,同时具备将该服务器上的第一应用程序发送的数据包转发给第二通信代理以及将第二通信代理发送的数据包转发给该服务器上的第一应用程序的双向通信功能,为了更清晰地说明,下面将其实现将第一应用程序发送的数据包转发给第二通信代理的功能模块(如图9所示)与其实现将第二通信代理发送的数据包转发给该服务器上的第一应用程序的功能模块(如图10所示)分开说明。
如图9所示,本申请实施例提供的服务器,包括:
接收单元901,用于接收该服务器的第一应用程序发送的数据包;
地址解析单元902,用于解析该数据包中的目的地址,确定目的地址指示的接收该数据包的第二应用程序所在的第二服务器;
发送单元903,用于将第一应用程序发送的数据包放入到该服务器的第一通信代理和第二服务器的第二通信代理之间、与接收该数据包的第二应用程序对应第一队列中,并通过第一服务器的第一通信代理与第二服务器的第二通信代理之间预先建立的数据链路的常连接,将接收的该数据包发送至所述第二通信代理。
上述接收单元901,具体用于通过第一通信代理与该第一应用程序之间预先建立的进程间通信连接,接收该第一应用程序发送的数据包。
上述发送单元903,具体用于在数据链路的常连接满足带宽要求的条件下,按照先入先出的顺序,将数据包从所述第一队列中取出,经由数据链路的常连接发送至第二通信代理。
进一步地,如图9所示的服务器,还可以包括:监测单元904,用于在发送单元903通过该数据链路的常连接,将第一程序发送的数据包发送至第二通信代理的过程中,监测第一队列中的数据包的数量是否大于等于设定的第一阈值,并在监测结果为是时,向第一应用程序发送指示数据包停止发送的第一控制信令。
进一步地,上述监测单元904,还用于在向该第一应用程序发送第一控制信令之后,监测当前第一队列中数据包的数量是否小于等于设定的第二阈值;并在监测结果为是时,向该第一应用程序发送指示数据包重新开始发送的第二控制信令。
进一步地,如图9所示的服务器,还可以包括:判断单元905,用于在发送单元903将第一程序发送的数据包发送至第二通信代理的过程中,判断是否从第一通信代理和第二通信代理之间预先建立的控制链路的常连接中,接收到第二通信代理发出的指示数据包停止发送的第三控制信令;
相应地,上述发送单元903,在判断单元判断收到第三控制信令时,暂停当前第一队列中所有数据包的发送。
进一步地,上述判断单元905,还用于在发送单元903暂停第一队列中所有数据包的发送之后,判断是否从第一通信代理和第二通信代理之间预先建立的控制链路的常连接中,接收到第二通信代理发出的指示数据包开始发送的第四控制信令;
相应地,上述发送单元903,还用于在判断单元905判断收到第四控制信令时,重新开始第一队列中所有数据包的发送。
进一步地,上述发送单元903,还用于当监测到该服务器的第一应用程序退出时,向与第一通信代理建立数据链路的常连接的所有第二通信代理发送所述第一应用程序退出的广播消息。
如图10所示,本申请实施例提供的服务器,包括:
接收单元1001,用于通过该服务器的第一通信代理与第二服务器的第二通信代理之间预先建立的数据链路的常连接,接收由第二通信代理转发的所述第二服务器的第二应用程序发送的数据包;
地址解析单元1002,用于解析接收单元901接收的数据包的目的地址,确定该目的地址指示的接收该数据包的该服务器的第一应用程序;
发送单元1003,用于将接收的数据包放入到第一通信代理与所述第一应用程序之间的第二队列中,并通过第一通信代理与第一应用程序之间预先建立的进程间通信连接发送至确定出的第一应用程序。
更进一步地,上述发送单元1003,具体用于在第一通信代理与第一应用程序之间的进程间通信连接满足带宽要求的条件下,按照先入先出的顺序,将该数据包从第二队列中取出,经由第一通信代理与第一应用程序之间的进程间通信连接发送至所述第一应用程序。
进一步地,如图10所示的服务器,还可以包括:监测单元1004,用于在发送单元1003通过第一通信代理与第一应用程序之间的进程间通信连接,将数据包发送至第一应用程序的过程中,监测当前第二队列中数据包的数量是否大于等于设定的第一阈值;并在监测结果为是时,则通过第一通信代理和第二通信代理之间预先建立的控制链路的常连接,向第二通信代理发出指示数据包停止发送的第五控制信令。
进一步地,上述监测单元1004,还用于向第二通信代理发送第五控制信令之后,监测当前第二队列中数据包的数量是否小于等于设定第二阈值;并在监测结果为是时,通过第一通信代理和第二通信代理之间预先建立的控制链路的常连接,向第二通信代理发出指示数据包重新开始发送的第六控制信令。
进一步地,如图10所示的服务器,还可以包括:判断单元1005,用于在发送单元1003通过第一通信代理与第一应用程序之间预先建立的进程间通信连接,将所述数据包发送至所述第一应用程序的过程中,判断是否从所述进程间通信连接中接收到所述第一应用程序发出的指示数据包停止发送的第七控制信令;
相应地,上述发送单元1003,在判断单元1005判断收到第七控制信令时,暂停当前第二队列中所有数据包的发送。
更近一步地,上述判断单元1005,还用于在发送单元1003暂停当前第二队列中所有数据包的发送之后,判断是否从第一通信代理和第一应用程序之间预先建立的进程间通信连接中接收到第一应用程序发出的指示数据包发送的第八控制信令;
相应地,上述发送单元1003,还用于在收到第八控制信令时,第一通信代理重新开始所述第二队列中所有数据包的发送。
进一步地,上述接收单元1001,还用于接收到第二服务器发送的第二服务器的第二应用程序退出的广播消息;
相应地,上述发送单元1003,还用于将将接收单元1001接收的广播消息广播至该服务器的所有第一应用程序。
本申请实施例提供的服务器在具体实施时,图9所示的各功能模块与图10所示各功能模块可以合并设置,例如图9和图10中的接收单元(901、1001)、地址解析单元(902、1002)、发送单元(903、1003)、监测单元(904、1004)和判断单元(905、1005)。也可以按照图9和图10分别进行设置。
本申请实施例提供的传输控制协议的通信方法及服务器,通过在第一服务器上设置第一通信代理,第二服务器上设置第二通信代理,第一通信代理和第二通信代理之间通过数据链路的常连接相连,第一服务器上所有的应用程序可通过第一通信代理与第二通信代理之间的数据链路的常连接,与第二服务器上的各第二应用程序进行数据通信,本申请实施例通过第一通信代理和第二通信代理之间建立的数据链路的常连接,提供了第一服务器上第一应用程序和第二服务器上第二应用程序之间的数据通信通道,与现有技术中多个TCP通信方之间需要建立数量巨大的TCP连接相比,本申请实施例大大减少了第一应用程序和第二应用程序之间实际的连接数量,有效地节约了系统维护TCP连接所需耗费的资源,并且由于数据链路的常连接所具有的连接稳定性的优点,避免了现有技术中两个应用程序之间进行TCP连接时由于频繁建立和拆除TCP连接所带来的通信延迟,提高了通信效率。
进一步地,本申请实施例在第一通信代理和第二通信代理建立数据链路的常连接的基础上,还可以在第一通信代理和第二通信代理之间同时建立起控制链路的常连接,在该控制链路的常连接上,传递流量控制信令,保证第一应用程序到第一通信代理、第一通信代理至第二通信代理以及第二通信代理至第二应用程序三段的数据传输流量不超过可承受的流量范围,从而保证了第一应用程序和第二应用程序之间数据包的可靠传输。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (17)

1.一种传输控制协议的通信方法,其特征在于,包括:
第一服务器的第一通信代理接收所述第一服务器的第一应用程序发送的数据包;
所述第一通信代理解析所述数据包中的目的地址,确定所述目的地址指示的接收所述数据包的第二应用程序所在的第二服务器;
所述第一通信代理将所述数据包放入到第一通信代理和所述第二服务器的第二通信代理之间、与接收所述数据包的第二应用程序对应第一队列中,并通过第一通信代理与第二通信代理之间预先建立的数据链路的常连接,从所述第一队列中取出所述数据包,将所述数据包发送至所述第二通信代理,
其中,所述第一队列与要接收所述数据包的第二应用程序唯一对应。
2.如权利要求1所述的方法,其特征在于,第一通信代理接收所述第一服务器的各第一应用程序发送的数据包,包括:
第一通信代理通过第一通信代理与所述第一应用程序之间预先建立的进程间通信连接,接收所述第一应用程序发送的数据包。
3.如权利要求1所述的方法,其特征在于,第一通信代理通过所述数据链路的常连接,将第一应用程序发送的数据包发送至所述第二通信代理,包括:
第一通信代理在所述数据链路的常连接满足带宽要求的条件下,按照先入先出的顺序,将所述数据包从所述第一队列中取出,经由所述数据链路的常连接发送至第二通信代理。
4.如权利要求3所述的方法,其特征在于,在第一通信代理通过所述数据链路的常连接,将第一应用程序发送的数据包发送至所述第二通信代理的过程中,还包括:
第一通信代理监测所述第一队列中的数据包的数量是否大于等于设定的第一阈值,并在监测结果为是时,向所述第一应用程序发送指示数据包停止发送的第一控制信令。
5.如权利要求4所述的方法,其特征在于,第一通信代理向所述第一应用程序发送所述第一控制信令之后,还包括:
第一通信代理监测当前所述第一队列中数据包的数量是否小于等于设定的第二阈值;所述第二阈值小于所述第一阈值;并在监测结果为是时,向所述第一应用程序发送指示数据包重新开始发送的第二控制信令。
6.如权利要求3所述的方法,其特征在于,在第一通信代理将第一应用程序发送的数据包发送至所述第二通信代理的过程中,还包括:
第一通信代理判断是否从第一通信代理和第二通信代理之间预先建立的控制链路的常连接中,接收到第二通信代理发出的指示数据包停止发送的第三控制信令;
在收到第三控制信令时,第一通信代理暂停当前所述第一队列中所有数据包的发送。
7.如权利要求6所述的方法,其特征在于,在第一通信代理暂停所述第一队列中所有数据包的发送之后,还包括:
第一通信代理判断是否从第一通信代理和第二通信代理之间预先建立的控制链路的常连接中,接收到第二通信代理发出的指示数据包开始发送的第四控制信令;
在收到第四控制信令时,第一通信代理重新开始所述第一队列中所有数据包的发送。
8.如权利要求1-7任一项所述的方法,其特征在于,当第一通信代理监测到第一服务器的第一应用程序退出时,还包括:
所述第一通信代理向与其建立数据链路的常连接的所有第二通信代理发送所述第一应用程序退出的广播消息。
9.一种传输控制协议的通信方法,其特征在于,包括:
第一服务器的第一通信代理通过所述第一通信代理与第二服务器的第二通信代理之间预先建立的数据链路的常连接,接收由所述第二通信代理转发的所述第二服务器的第二应用程序发送的数据包;
所述第一通信代理解析所述数据包中的目的地址,确定所述目的地址指示的接收所述数据包的第一服务器的第一应用程序;
所述第一通信代理将接收的所述数据包放入到第一通信代理与所述第一应用程序之间的第二队列中,并通过第一通信代理与第一应用程序之间预先建立的进程间通信连接发送至所述第一应用程序。
10.如权利要求9所述的方法,其特征在于,第一通信代理通过其与所述第一应用程序之间预先建立的进程间通信连接,将所述数据包发送至所述第一应用程序,具体包括:
第一通信代理在所述进程间通信连接的满足带宽要求的条件下,按照先入先出的顺序,将所述数据包从所述第二队列中取出,经由所述进程间通信连接发送至所述第一应用程序。
11.如权利要求10所述的方法,其特征在于,第一通信代理通过其与所述第一应用程序之间预先建立的进程间通信连接,将所述数据包发送至所述第一应用程序的过程中,还包括:
第一通信代理监测当前所述第二队列中数据包的数量是否大于等于设定的第一阈值;并在监测结果为是时,通过第一通信代理和第二通信代理之间预先建立的控制链路的常连接,向第二通信代理发送指示数据包停止发送的第五控制信令。
12.如权利要求11所述的方法,其特征在于,向第二通信代理发送所述第五控制信令之后,还包括:
监测当前所述第二队列中数据包的数量是否小于等于设定第二阈值;所述第二阈值小于所述第一阈值;并在监测结果为是时,通过第一通信代理和第二通信代理之间预先建立的控制链路的常连接,向第二通信代理发送指示数据包重新开始发送的第六控制信令。
13.如权利要求10所述的方法,其特征在于,第一通信代理通过其与所述第一应用程序之间预先建立的进程间通信连接,将所述数据包发送至所述第一应用程序的过程中,还包括:
第一通信代理判断是否从所述进程间通信连接中接收到所述第一应用程序发出的指示数据包停止发送的第七控制信令;
在收到第七控制信令时,第一通信代理暂停当前所述第二队列中所有数据包的发送。
14.如权利要求13所述的方法,其特征在于,在所述第一通信代理暂停当前所述第二队列中所有数据包的发送之后,还包括:
第一通信代理判断是否从所述进程间通信连接中接收到所述第一应用程序发出的指示数据包发送的第八控制信令;
在收到第八控制信令时,第一通信代理重新开始所述第二队列中所有数据包的发送。
15.如权利要求9-14任一项所述的方法,其特征在于,当第一通信代理接收到第二服务器发送的所述第二服务器的第二应用程序退出的广播消息时,还包括:
第一通信代理将接收的所述广播消息广播至第一服务器的所有第一应用程序。
16.一种服务器,其特征在于,包括:
接收单元,用于接收所述服务器的第一应用程序发送的数据包;
地址解析单元,用于解析所述数据包中的目的地址,确定所述目的地址指示的接收所述数据包的第二应用程序所在的第二服务器;
发送单元,用于将所述数据包放入到所述服务器的第一通信代理和所述第二服务器的第二通信代理之间、与接收所述数据包的第二应用程序对应第一队列中,并通过第一通信代理与第二通信代理之间预先建立的数据链路的常连接,从所述第一队列中取出所述数据包,将所述数据包发送至所述第二通信代理,其中,所述第一队列与要接收所述数据包的第二应用程序唯一对应。
17.一种服务器,其特征在于,包括:
接收单元,用于通过所述服务器的第一通信代理与第二服务器的第二通信代理之间预先建立的数据链路的常连接,接收由所述第二通信代理转发的所述第二服务器的第二应用程序发送的数据包;
地址解析单元,用于解析所述数据包中的目的地址,确定所述目的地址指示的接收所述数据包的所述服务器的第一应用程序;
发送单元,用于将接收的所述数据包放入到第一通信代理与所述第一应用程序之间的第二队列中,并通过第一通信代理与第一应用程序之间预先建立的进程间通信连接发送至所述第一应用程序。
CN201010515928.5A 2010-10-19 2010-10-19 一种传输控制协议的通信方法及服务器 Active CN102457537B (zh)

Priority Applications (8)

Application Number Priority Date Filing Date Title
CN201010515928.5A CN102457537B (zh) 2010-10-19 2010-10-19 一种传输控制协议的通信方法及服务器
TW100108076A TWI555363B (zh) 2010-10-19 2011-03-10 Transmission control protocol communication method and server
EP11834907.5A EP2630586A4 (en) 2010-10-19 2011-10-14 Communication method and server of transmission control protocol
PCT/US2011/056430 WO2012054347A1 (en) 2010-10-19 2011-10-14 Communication method and server of transmission control protocol
US13/380,001 US8750308B2 (en) 2010-10-19 2011-10-14 Communication method and server of transmission control protocol
JP2013534976A JP5908915B2 (ja) 2010-10-19 2011-10-14 伝送制御プロトコルの通信方法およびサーバ
HK12107081.1A HK1166564A1 (zh) 2010-10-19 2012-07-19 種傳輸控制協議的通信方法及服務器
JP2016060268A JP6240248B2 (ja) 2010-10-19 2016-03-24 伝送制御プロトコルの通信方法およびサーバ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010515928.5A CN102457537B (zh) 2010-10-19 2010-10-19 一种传输控制协议的通信方法及服务器

Publications (2)

Publication Number Publication Date
CN102457537A CN102457537A (zh) 2012-05-16
CN102457537B true CN102457537B (zh) 2015-11-25

Family

ID=45975573

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010515928.5A Active CN102457537B (zh) 2010-10-19 2010-10-19 一种传输控制协议的通信方法及服务器

Country Status (7)

Country Link
US (1) US8750308B2 (zh)
EP (1) EP2630586A4 (zh)
JP (2) JP5908915B2 (zh)
CN (1) CN102457537B (zh)
HK (1) HK1166564A1 (zh)
TW (1) TWI555363B (zh)
WO (1) WO2012054347A1 (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5772380B2 (ja) * 2011-08-11 2015-09-02 富士通株式会社 通信装置、通信方法、および通信プログラム
CN102780764B (zh) * 2012-06-28 2015-12-16 北京奇虎科技有限公司 一种代理通信系统及方法
US9253262B2 (en) * 2013-01-24 2016-02-02 Rovi Guides, Inc. Systems and methods for connecting media devices through web sockets
US9590885B1 (en) 2013-03-13 2017-03-07 Sprint Communications Company L.P. System and method of calculating and reporting of messages expiring from a queue
US9432445B1 (en) * 2013-05-17 2016-08-30 Sprint Communications Company L.P. System and method of maintaining an enqueue rate of data messages into a set of queues
CN105379208B (zh) * 2013-06-27 2018-10-12 徐正焕 用于互联网协议的多连接系统和方法
US10885583B2 (en) * 2013-12-19 2021-01-05 Chicago Mercantile Exchange Inc. Deterministic and efficient message packet management
WO2016049919A1 (zh) * 2014-09-30 2016-04-07 华为技术有限公司 一种终端、基站、系统及传输应用数据的方法
CN104410675A (zh) * 2014-11-12 2015-03-11 北京奇虎科技有限公司 数据传输方法、数据系统及相关装置
CN107656817A (zh) * 2016-07-25 2018-02-02 阿里巴巴集团控股有限公司 程序间进行数据传输的方法以及装置
TWI588665B (zh) * 2016-12-14 2017-06-21 英業達股份有限公司 伺服器
US10749913B2 (en) 2018-09-27 2020-08-18 Intel Corporation Techniques for multiply-connected messaging endpoints
CN110891032B (zh) * 2019-11-27 2023-06-30 佛山市蠢材科技有限公司 一种人脸数据并行下发方法、装置及电子设备
CN112165430B (zh) * 2020-09-24 2024-02-13 阿波罗智联(北京)科技有限公司 数据路由方法、装置、设备以及存储介质
CN112996321B (zh) * 2021-03-05 2022-08-02 马乐志 一种基于正则表达式匹配的智能终端的多表数据集抄方法
US11576056B1 (en) * 2021-05-10 2023-02-07 T-Mobile Innovations Llc Unified data repository (UDR) messaging in a wireless communication network

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6757277B1 (en) * 1999-01-26 2004-06-29 Siemens Information And Communication Networks, Inc. System and method for coding algorithm policy adjustment in telephony-over-LAN networks
CN101035037A (zh) * 2007-04-17 2007-09-12 华为技术有限公司 检测网络通信质量的方法、系统及相关装置
CN101547134A (zh) * 2008-03-27 2009-09-30 天津德智科技有限公司 一种udp连接和tcp连接相互转化的方法、系统及中转服务器
CN101729354A (zh) * 2008-10-18 2010-06-09 飞塔公司 使用隧道加速数据通信
CN101789895A (zh) * 2009-01-24 2010-07-28 华为技术有限公司 一种发送/接收数据报文的方法及装置

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07287678A (ja) * 1994-04-18 1995-10-31 Nec Corp 動的通信管理方式
US5784559A (en) * 1995-11-06 1998-07-21 Sun Microsystems, Inc. Full duplex flow control for ethernet networks
CN1127829C (zh) * 1996-03-08 2003-11-12 西门子公司 从第一装置到至少一个第二装置在以太网内传输可预先确定优先分类级的数据包的方法
JP2001197126A (ja) * 2000-01-11 2001-07-19 Toshiba Corp 通信システム及び網間接続装置のパケット送出量制御方法
US20020078135A1 (en) 2001-03-15 2002-06-20 Ibm Corporation Method and apparatus for improving the operation of an application layer proxy
US7480707B2 (en) 2001-05-16 2009-01-20 International Business Machines Corporation Network communications management system and method
WO2005008977A1 (ja) * 2003-07-18 2005-01-27 Fujitsu Limited パケット転送方法及び装置
JP2005332085A (ja) 2004-05-18 2005-12-02 Fujitsu Ltd コンピュータネットワークシステムにおける通信経路制御プログラム及び装置
IES20040347A2 (en) 2004-05-18 2005-11-30 Flightman Res Ltd A method for bi-directional exchange of data based on user-defined policies for the selection of a preferred datalink
JP4606984B2 (ja) * 2005-09-29 2011-01-05 三菱電機株式会社 フロー制御方法、および中継装置
US20070127513A1 (en) 2005-12-06 2007-06-07 Ramesh Sudini Starvation reduction in TCP/IP applications
US7660321B2 (en) * 2006-03-01 2010-02-09 Alcatel-Lucent Usa Inc. System and method for prioritizing session initiation protocol messages
JP4705863B2 (ja) 2006-03-07 2011-06-22 ソフトバンクBb株式会社 セッション制御システム、セッション制御方法及び移動端末装置
AU2007296442A1 (en) * 2006-09-13 2008-03-20 Asankya Networks, Inc. Systems and methods of improving performance of transport protocols in a multi-path environment
US20080075096A1 (en) 2006-09-22 2008-03-27 Enthenergy, Llc Remote access to secure network devices
WO2008075580A1 (ja) * 2006-12-20 2008-06-26 Nec Corporation 通信端末、端末、通信システム、通信方法及びプログラム
US20080175232A1 (en) * 2007-01-18 2008-07-24 Tsai Wei K System and method for multi-service virtual networks by integration, convergence, zero opportunity cost, and distributed user control
JP5178539B2 (ja) * 2008-04-04 2013-04-10 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、セッション管理システム並びにプログラム
JP5074290B2 (ja) * 2008-05-13 2012-11-14 株式会社日立国際電気 冗長切替システム、冗長管理装置およびアプリケーション処理装置
US8739179B2 (en) 2008-06-30 2014-05-27 Oracle America Inc. Method and system for low-overhead data transfer
WO2010032533A1 (ja) 2008-09-19 2010-03-25 日本電気株式会社 ネットワークプロトコル処理システム、及びネットワークプロトコル処理方法
US8122140B2 (en) * 2009-03-27 2012-02-21 Wyse Technology Inc. Apparatus and method for accelerating streams through use of transparent proxy architecture

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6757277B1 (en) * 1999-01-26 2004-06-29 Siemens Information And Communication Networks, Inc. System and method for coding algorithm policy adjustment in telephony-over-LAN networks
CN101035037A (zh) * 2007-04-17 2007-09-12 华为技术有限公司 检测网络通信质量的方法、系统及相关装置
CN101547134A (zh) * 2008-03-27 2009-09-30 天津德智科技有限公司 一种udp连接和tcp连接相互转化的方法、系统及中转服务器
CN101729354A (zh) * 2008-10-18 2010-06-09 飞塔公司 使用隧道加速数据通信
CN101789895A (zh) * 2009-01-24 2010-07-28 华为技术有限公司 一种发送/接收数据报文的方法及装置

Also Published As

Publication number Publication date
EP2630586A1 (en) 2013-08-28
TWI555363B (zh) 2016-10-21
JP2016146658A (ja) 2016-08-12
HK1166564A1 (zh) 2012-11-02
US20130195108A1 (en) 2013-08-01
JP5908915B2 (ja) 2016-04-26
JP6240248B2 (ja) 2017-11-29
EP2630586A4 (en) 2017-12-27
WO2012054347A1 (en) 2012-04-26
TW201225606A (en) 2012-06-16
JP2013545375A (ja) 2013-12-19
US8750308B2 (en) 2014-06-10
CN102457537A (zh) 2012-05-16

Similar Documents

Publication Publication Date Title
CN102457537B (zh) 一种传输控制协议的通信方法及服务器
CN102546832B (zh) 基于tcp协议的报文发送方法
US20040024861A1 (en) Network load balancing
EP3298739B1 (en) Lightweight transport protocol
CN104811459A (zh) 用于消息服务的处理方法、装置及系统、消息服务系统
CN102084634B (zh) 与阈值有关的传输协议优化选择
US9825863B2 (en) Buffer control for multi-transport architectures
CN103841041A (zh) 一种多流业务并发传输控制方法及装置
JP2004520725A (ja) サテライトを介するインターネット
NZ609956A (en) Congestion control in a communication network
CN102957626A (zh) 一种报文转发方法和装置
CN102845029A (zh) 远程控制系统、远程控制方法和用于远程控制的程序
CN115473855A (zh) 网络系统、数据传输方法
EP2384073A1 (en) Transmission apparatus, transmission-reception apparatus, communication system, and communication method
CN103379130A (zh) 一种基于应用层数据的网络接入系统和方法
CN1264234A (zh) 优先级增强型消息传送装置及其方法
CN109246021B (zh) 一种基于fpga的点对点数据可靠传输系统和方法
CN101043460B (zh) 实现多网络处理单元单流转发的设备及方法
EP2709319B1 (en) Transmission system, routing control device and method for controlling routing
CN102811149B (zh) 一种用于视频系统中的双卡前端设备及控制方法、系统
CN101997862B (zh) 一种实现单条偶联支持多用户的方法和装置
CN210274135U (zh) 一种远程连接系统
CN112769593A (zh) 一种网络监控系统和网络监控方法
CN112363963A (zh) 一种基于Powerlink总线的数据传输方法及装置
Sreekumari et al. A simple and efficient approach for reducing TCP timeouts due to lack of duplicate acknowledgments in data center networks

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1166564

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1166564

Country of ref document: HK