CN105847168A - 一种数据传输的方法、网络服务器、用户终端及系统 - Google Patents

一种数据传输的方法、网络服务器、用户终端及系统 Download PDF

Info

Publication number
CN105847168A
CN105847168A CN201510014307.1A CN201510014307A CN105847168A CN 105847168 A CN105847168 A CN 105847168A CN 201510014307 A CN201510014307 A CN 201510014307A CN 105847168 A CN105847168 A CN 105847168A
Authority
CN
China
Prior art keywords
user terminal
congestion avoidance
avoidance algorithm
network
interface card
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
CN201510014307.1A
Other languages
English (en)
Other versions
CN105847168B (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201510014307.1A priority Critical patent/CN105847168B/zh
Priority to KR1020177022309A priority patent/KR20170103921A/ko
Priority to PCT/CN2015/093380 priority patent/WO2016112728A1/zh
Priority to EP15877641.9A priority patent/EP3236621A4/en
Publication of CN105847168A publication Critical patent/CN105847168A/zh
Priority to US15/646,853 priority patent/US20170310593A1/en
Application granted granted Critical
Publication of CN105847168B publication Critical patent/CN105847168B/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
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • 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
    • H04L47/193Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
    • 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/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2425Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
    • 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
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • 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/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2475Traffic characterised by specific attributes, e.g. priority or QoS for supporting traffic characterised by the type of applications

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例公开了一种数据传输的方法,包括:获取用于确定拥塞控制算法的信息;根据所述用于确定拥塞控制算法的信息,确定与所述用户终端进行数据传输时所使用的拥塞控制算法;使用所述拥塞控制算法与所述用户终端进行数据传输。本发明实施例还提供一种网络服务器、用户终端及系统。本发明实施例能够根据用户终端的接入类型和接入网方式选择相应的拥塞控制算法,提高TCP传输效率。

Description

一种数据传输的方法、网络服务器、用户终端及系统
技术领域
本发明实施例涉及通信领域,尤其涉及一种数据传输的方法、网络服务器、用户终端及系统。
背景技术
传输控制协议(TCP,Transport Control Protocol)是目前网络上使用最多的传输协议,它提供了端到端的数据可靠性传输。随着信息传送量的逐渐增大和网络组成的日益复杂,网络发生拥塞的可能性越来越大。为了防止网络的拥塞,目前已经提出了一系列有关TCP的拥塞控制算法。TCP的拥塞控制算法一般用于实现拥塞避免和拥塞控制。拥塞避免是预防机制,它的目的是避免网络进入拥塞状态,使网络在高吞吐量、低延迟的状态下运行;拥塞控制是恢复机制,它的目的是恢复处于拥塞状态中的网络。
现有技术方案中,网络服务器与用户终端之间在选择拥塞控制算法时,都是由网络服务器随机选择的,这样就可能出现网络服务器选择的拥塞控制算法不适合用户终端,导致TCP传输效率降低。
发明内容
本发明实施例提供了一种数据传输的方法、网络服务器、用户终端及系统,能够根据用户终端的接入类型和接入网方式选择相应的拥塞控制算法,提高TCP传输效率。
有鉴于此,本发明第一方面提供一种数据传输的方法,包括:
获取用于确定拥塞控制算法的信息;
根据所述用于确定拥塞控制算法的信息,确定与所述用户终端进行数据传输时所使用的拥塞控制算法;
使用所述拥塞控制算法与所述用户终端进行数据传输。
结合本发明实施例的第一方面,在第一种可能的实现方式中,所述用于确定拥塞控制算法的信息包括所述用户终端的网卡类型、接入网方式、业务需求和第一网络状态信息中至少一种时,所述根据所述用于确定拥塞控制算法的信息,确定与所述用户终端进行数据传输时所使用的拥塞控制算法,包括:
从网卡类型、接入网方式、业务需求和第一网络状态信息中的至少一种与拥塞控制算法的对应关系中,将与所述用户终端的网卡类型、接入网方式、业务需求和第一网络状态信息中的至少一种对应的拥塞控制算法,确定为与所述用户终端进行数据传输时所使用的拥塞控制算法。
结合本发明实施例的第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述用于确定拥塞控制算法的信息还包括所述用户终端确定的拥塞控制算法的类型时,所述从网卡类型、接入网方式、业务需求和第一网络状态信息中的至少一种与拥塞控制算法的对应关系中,将与所述用户终端的网卡类型、接入网方式、业务需求和第一网络状态信息中的至少一种对应的拥塞控制算法,确定为与所述用户终端进行数据传输时所使用的拥塞控制算法,包括:
判断是否支持所述用户终端确定的拥塞控制算法;
当支持所述用户终端确定的拥塞控制算法时,将所述用户终端确定的拥塞控制算法确定为与所述用户终端进行数据传输时所使用的拥塞控制算法;
当不支持所述用户终端确定的拥塞控制算法时,从网卡类型、接入网方式、业务需求和第一网络状态信息中的至少一种与拥塞控制算法的对应关系中,将与所述用户终端的网卡类型、接入网方式、业务需求和第一网络状态信息中的至少一种对应的拥塞控制算法,确定为与所述用户终端进行数据传输时所使用的拥塞控制算法。
结合第一方面,第一方面第一种或第二种可能的实现方式,在第三种可能的实现方式中,所述使用所述拥塞控制算法与所述用户终端进行数据传输时,所述方法还包括:
获取所述用户终端与服务器通信路径上的第二网络状态信息;
根据所述第二网络状态信息,调用应用程序编程AP I接口,所述API接口用于修改传输控制协议TCP参数;
通过所述API接口修改所述TCP参数。
本发明第二方面提供一种数据传输的方法,包括:
通过已有API接口或新建API接口获取用户终端的网卡类型、接入网方式和业务需求中至少一种;
向网络服务器发送所述用户终端的网卡类型、接入网方式和业务需求中至少一种,以使得网络服务器根据网卡类型、接入网方式和业务需求中至少一种确定拥塞控制算法;
使用所述拥塞控制算法与所述网络服务器进行数据传输。
结合本发明实施例的第二方面,在第一种可能的实现方式中,所述通过已有API接口或新建API接口获取所述用户终端的网卡类型、接入网方式和业务需求中至少一种之后,所述方法还包括:
根据所述用户终端的网卡类型、接入网方式和业务需求中至少一种,确定与所述用户终端的网卡类型、接入网方式和业务需求中至少一种对应的拥塞控制算法;
所述向网络服务器发送所述用户终端的网卡类型、接入网方式和业务需求中至少一种,包括:
向所述网络服务器发送所述用户终端的网卡类型、接入网方式、业务需求中至少一种,以及所述对应的拥塞控制算法。
本发明第三方面提供一种网络服务器,包括:
第一获取模块,用于获取用于确定拥塞控制算法的信息;
第一确定模块,用于根据所述用于确定拥塞控制算法的信息,确定与所述用户终端进行数据传输时所使用的拥塞控制算法;
第一传输模块,用于使用所述拥塞控制算法与所述用户终端进行数据传输。
结合本发明实施例的第三方面,在第一种可能的实现方式中,所述确定模块具体用于在所述用于确定拥塞控制算法的信息包括所述用户终端的网卡类型、接入网方式、业务需求和第一网络状态信息中至少一种时,从网卡类型、接入网方式、业务需求和第一网络状态信息中的至少一种与拥塞控制算法的对应关系中,将与所述用户终端的网卡类型、接入网方式、业务需求和第一网络状态信息中的至少一种对应的拥塞控制算法,确定为与所述用户终端进行数据传输时所使用的拥塞控制算法。
结合本发明实施例的第三方面的第一种可能的实现方式,在第二种可能的实现方式中,所述第一确定模块包括:
判断单元,用于判断是否支持所述用户终端确定的拥塞控制算法;
第一确定单元,用于当支持所述用户终端确定的拥塞控制算法时,将所述用户终端确定的拥塞控制算法确定为与所述用户终端进行数据传输时所使用的拥塞控制算法;
第二确定单元,用于当不支持所述用户终端确定的拥塞控制算法时,从网卡类型、接入网方式、业务需求和第一网络状态信息中的至少一种与拥塞控制算法的对应关系中,将与所述用户终端的网卡类型、接入网方式、业务需求和第一网络状态信息中的至少一种对应的拥塞控制算法,确定为与所述用户终端进行数据传输时所使用的拥塞控制算法。
结合第三方面,第三方面第一种或第二种可能的实现方式,在第三种可能的实现方式中,所述网络服务器还包括:
第二获取模块,用于获取所述用户终端与服务器通信路径上的第二网络状态信息;
调用模块,用于根据所述第二网络状态信息,调用应用程序编程AP I接口,所述API接口用于修改传输控制协议TCP参数;
修正模块,用于通过所述API接口修改所述TCP参数。
本发明第四方面提供一种用户终端,包括:
第三获取模块,用于通过已有API接口或新建API接口获取用户终端的网卡类型、接入网方式和业务需求中至少一种;
第一发送模块,用于向网络服务器发送所述用户终端的网卡类型、接入网方式和业务需求中至少一种,以使得网络服务器根据网卡类型、接入网方式和业务需求中至少一种确定拥塞控制算法;
第二传输模块,用于使用所述拥塞控制算法与所述网络服务器进行数据传输。
结合本发明实施例的第四方面,在第一种可能的实现方式中,所述用户终端还包括:
第二确定模块,用于根据所述用户终端的网卡类型、接入网方式和业务需求中至少一种,确定与所述用户终端的网卡类型、接入网方式和业务需求中至少一种对应的拥塞控制算法;
所述第一发送模块包括:
发送单元,用于向所述网络服务器发送所述用户终端的网卡类型、接入网方式、业务需求中至少一种,以及所述对应的拥塞控制算法。
本发明第五方面提供一种数据传输的系统,包括:网络服务器和用户终端;
所述网络服务器为上述第三方面、第三方面第一种、第二种或第三种可能的实现方式中的所述网络服务器;
所述用户终端为上述第三方面或第三方面第一种可能的实现方式的所述用户终端。
从以上技术方案可以看出,本发明实施例具有以下优点:
本发明实施例中,网络服务器获取用户终端发送的信息,并结合自身支持的拥塞控制算法,选择最终采用的拥塞控制算法,网络服务器使用该拥塞控制算法进行TCP传输。网络服务器根据接收到的不同信息选择不同的拥塞控制算法,针对具体终端类型与接入网方式进行TCP传输,提高TCP传输效率。
附图说明
图1为本发明实施例中数据传输的方法一个实施例示意图;
图2为本发明实施例中数据传输的方法另一个实施例示意图;
图3为本发明实施例中网络服务器一个实施例示意图;
图4为本发明实施例中网络服务器另一个实施例示意图;
图5为本发明实施例中网络服务器另一个实施例示意图;
图6为本发明实施例中用户终端一个实施例示意图;
图7为本发明实施例中用户终端另一个实施例示意图;
图8为本发明实施例中网络服务器一个结构示意图;
图9为本发明实施例中用户终端一个结构示意图;
图10为本发明实施例中数据传输系统一个实施例示意图。
具体实施方式
本发明实施例提供了一种数据传输的方法、网络服务器、用户终端及系统,用于针对具体终端类型与接入网方式进行TCP传输,提高TCP传输效率。
请参阅图1,本发明实施例中数据传输的方法一个实施例包括:
101、获取用于确定拥塞控制算法的信息;
本实施例中,网络服务器获取用于确定拥塞控制算法的信息。
通常情况下,当网络资源的需求大于可用资源时就会出现网络性能下降的问题,即出现拥塞的情况,而拥塞控制算法可以有效的避免或者缓解拥塞的情况。
102、根据网络特征信息,确定与用户终端进行数据传输时所使用的拥塞控制算法;
本实施例中,当网络服务器接收了用于确定拥塞控制算法的信息后,根据这些用于确定拥塞控制算法的信息,确定使用具体哪一种拥塞控制算法与用户终端进行数据传输。
103、使用拥塞控制算法与用户终端进行数据传输。
本实施例中,在确定与用户终端进行数据传输时所使用的拥塞控制算法后,可以使用这种拥塞控制算法与用户终端进行数据传输。
可以理解的是,本实施例中使用TCP作为数据传输的协议,实际应用中,也可以使用网际协议(IP,Internet Protocol)作为数据传输的协议,或者其他数据传输的协议,故此处不做限定。
本发明实施例中,网络服务器获取用户终端发送的信息,并结合自身支持的拥塞控制算法,选择最终采用的拥塞控制算法,网络服务器使用该拥塞控制算法进行TCP传输。网络服务器根据接收到的不同信息选择不同的拥塞控制算法,针对具体终端类型与接入网方式进行TCP传输,提高TCP传输效率。
需要说明的是,上述实施例中可以通过多种方式确定与用户终端进行数据传输时所使用的拥塞控制算法,为便于理解,下面分别进行说明:
一、网络服务器根据用户终端的网卡类型、接入网方式、业务需求和第一网络状态信息中至少一种确定与所述用户终端进行数据传输时所使用的拥塞控制算法;
可选地,在上述图1对应的实施例的基础上,本发明实施例提供的数据传输的方法第一个可选实施例中,用于确定拥塞控制算法的信息包括用户终端的网卡类型、接入网方式、业务需求和第一网络状态信息中至少一种时,根据用于确定拥塞控制算法的信息,确定与用户终端进行数据传输时所使用的拥塞控制算法,包括:
从网卡类型、接入网方式、业务需求和第一网络状态信息中的至少一种与拥塞控制算法的对应关系中,将与用户终端的网卡类型、接入网方式、业务需求和第一网络状态信息中的至少一种对应的拥塞控制算法,确定为与用户终端进行数据传输时所使用的拥塞控制算法。
本实施例中,用户终端通过OPENTCP协议的API接口获取用户终端的网卡类型、接入网方式以及用户业务需求,再通过TCP或IP建立连接时所使用的握手信号(SYN,Synchronous)报文中的options选项,将携带有网卡类型、接入网方式以及用户业务需求的信息发送至网络服务器侧,网络服务器侧接收并解析SYN报文中的options选项信息,得到用户终端的网卡类型、接入网方式以及用户业务需求。
同时,用户终端还可以获取用户终端与服务器通信路径上的第二网络状态信息,需要说明的是,第二网络状态信息可以为用户终端与服务器通信路径上的丢包率,也可以为其它网络状态信息,例如带宽或时延等参数,此处不做限定。
可以理解的是,用户终端发送网络特征信息至网络服务器的方式有多种,不限于通过SYN报文的options选项将携带有网络特征信息发送至网络服务器,故此处不做限定。
本实施例中,网络服务器在接收到网卡类型、接入网方式、用户业务需求以及用户终端与服务器通信路径上的第一网络状态信息中的至少一种后,可以从其中至少一种信息与对应的拥塞控制算法,确定为与用户终端进行数据传输时所使用的拥塞控制算法。
需要说明的是,网络服务器在接收到网卡类型、接入网方式、用户业务需求以及用户终端与服务器通信路径上的第一网络状态信息中的每一种信息与拥塞控制算法的对应关系可以为一对一,或者一对多,例如,当获取的是网卡类型为通用串行总线(USB,Universal Serial Bus)网卡时,可以采用对应的A拥塞控制算法,也可以对应A与B两种拥塞控制算法,根据具体网络状态择优使用,故此处不对该对应关系做限定。
其次,本实施例中网络服务器可以根据网卡类型、接入网方式、业务需求和第一网络状态信息中至少一种,确定与用户终端进行数据传输时所使用的拥塞控制算法,如此便可以灵活的根据实际应用与动态网络选择最佳的拥塞控制算法来解决网络拥塞的问题,使方案更具有灵活性,同时更具备实用性。
二、网络服务器根据用户终端确定的拥塞控制算法的类型、用户终端的网卡类型、接入网方式、业务需求以及第一网络状态信息中至少一种确定与用户终端进行数据传输时所使用的拥塞控制算法;
可选地,在上述图1对应的实施例的基础上,本发明实施例提供的数据传输的方法第二个可选实施例中,用于确定拥塞控制算法的信息还包括用户终端确定的拥塞控制算法的类型时,从网卡类型、接入网方式、业务需求和第一网络状态信息中的至少一种与拥塞控制算法的对应关系中,将与用户终端的网卡类型、接入网方式、业务需求和第一网络状态信息中的至少一种对应的拥塞控制算法,确定为与用户终端进行数据传输时所使用的拥塞控制算法,包括:
判断是否支持用户终端确定的拥塞控制算法;
当支持用户终端确定的拥塞控制算法时,将用户终端确定的拥塞控制算法确定为与用户终端进行数据传输时所使用的拥塞控制算法;
当不支持用户终端确定的拥塞控制算法时,从网卡类型、接入网方式、业务需求和第一网络状态信息中的至少一种与拥塞控制算法的对应关系中,将与用户终端的网卡类型、接入网方式、业务需求和第一网络状态信息中的至少一种对应的拥塞控制算法,确定为与用户终端进行数据传输时所使用的拥塞控制算法。
本实施例中,网络服务器接收并解析SYN报文中的options选项信息,得到用户终端的网卡类型、接入网方式、用户的业务需求和用户终端确定的拥塞控制算法的类型后,通过OPENTCP协议的API查询自身是否支持用户终端所选择的拥塞控制算法,若查询后确定网络服务器自身支持用户终端所选择的拥塞控制算法时,则将用户终端确定的拥塞控制算法确定为与用户终端进行数据传输时所使用的拥塞控制算法,但是当查询后得知网络服务器自身不支持用户终端所选择的拥塞控制算法的时候,则根据用户终端的网卡类型、接入网方式、用户的业务需求和用户终端与服务器通信路径上的第一网络状态信息中的至少一种,选择对应的拥塞控制算法,确定为与用户终端进行数据传输时所使用的拥塞控制算法。
拥塞控制算法可以划分为四类,分别是慢开始算法、拥塞避免算法、快重传算法或快恢复算法,慢开始算法是指开始传输时,传输的数据由小到大递增到一个值,即发送窗口由小至大的呈指数增大,逐渐增大到拥塞窗口的数值;拥塞避免算法是当拥塞窗口的数值不能再以指数级往上升时,拥塞窗口每次加1的线性增大,这样就可以避免增长过快导致网络拥塞,慢慢调整到网络的最佳值;快重传算法是在数据传输时,将数据划分为若干报文,每个报文携带有序号,若接收方收到一个失序的报文段,则立即发出重复确认,发送方只要一连收到三个重复确认信息时,就可及时重传为收到的报文段;快恢复算法是与快重传配合的一种算法,在发送方一连收到三个重复确认信息时,就把每次传输的数据量减小为原来的一半,拥塞窗口也修改为该值,然后执行拥塞避免算法,使拥塞窗口缓慢地线性增大。
需要说明的是,上述四种算法为基本拥塞控制算法,在本实施例中使用的拥塞控制算法可以为这四种中其中一种或多种,故此处不做限定。
其次,本实施例中提出一种通过判断网络服务器自身是否支持用户终端所选择的拥塞控制算法来确定最终拥塞控制算法的方法,使方案的可操作性得以提升,增加方案的灵活性。
可选地,在上述图1对应的实施例、第一个可选实施例以及第二个可选实施例中任一项的基础上,本发明实施例提供的数据传输的方法第三个可选实施例中,使用拥塞控制算法与用户终端进行数据传输时,方法还可以包括:
获取用户终端与服务器通信路径上的第二网络状态信息;
根据第二网络状态信息,调用应用程序编程API接口,API接口用于修改传输控制协议TCP参数;
通过API接口修改TCP参数。
本实施例中,网络服务器通过网管系统或软件定义网络(SDN,SoftwareDefined Network)控制器获取用户终端与服务器通信路径上的中间网络节点信息,其中网管系统又称为网络管理系统,是一个软硬件结合以软件为主的分布式网络应用系统,其目的是管理网络,使网络高效正常运行,网络管理对象一般包括路由器,交换机与多端口的转发器。
需要说明的是,网络服务器可以通过用户终端与网络服务器通信路径上的中间网络节点信息,获取网络节点出口的丢包率,并以此来确定对应的拥塞控制算法,也可以根据其他的网络状态信息来确定拥塞控制算法,例如带宽或时延,此处不做限定。
本实施例中,网络服务器根据与用户终端在通信路径上的丢包率,或其它的网络状态信息,来调用API接口进行TCP参数的修改,而一种修改的方式为:对API接口函数没有具体实现的参数,但是可根据现有的格式进行扩展,因此动态调整TCP参数,TCP参数一般包括拥塞窗口、接收缓存区大小与发送缓存区大小,用户根据网络状态变化及时通过API接口修改这些参数。
需要说明的是,本实施例中,通过现有的API接口或者新建的API接口进行TCP参数修改,而实际应用中,也可以采用通用的socket编程接口来修改TCP参数,还可以采用其他基于TCP流修改TCP参数的方式,
再次,本实施例中,网络服务器获取网络状态信息,并根据该信息通过API接口进行TCP参数的修改,可以及时根据网络状态信息确定网络的调整策略,通过API接口动态调整TCP参数,从而提高TCP传输效率,使得方案的应用更为广泛,并且使得灵活性更进一步的提高了。
上面的实例中都是从网络服务器的角度对本发明中数据传输进行描述,下面将从用户终端的角度对本发明中数据处理的方法进行描述。请参阅图2,本发明数据传输方法的另一个实施例包括:
201、通过已有API接口或新建API接口获取用户终端的网卡类型、接入网方式和业务需求中至少一种;
本实施例中,用户终端通过新建的OPENTCP API接口来获取用户的网卡类型、接入网方式以及部分的用户需求,也可通过已有的API接口获取已有API接口无法获取到的部分用户业务需求,其中OPENTCP API接口可以作为已有API接口的扩展,用户终端需要获取以上三种信息中的至少一种。
202、向网络服务器发送用户终端的网卡类型、接入网方式和业务需求中至少一种,以使得网络服务器根据网卡类型、接入网方式和业务需求中至少一种确定拥塞控制算法;
本实施例中,用户终端向网络服务器发送用户终端获取网卡类型、接入网方式与用户业务需求中的至少一种,以使得网络服务器根据这些信息中的至少一项来确定拥塞控制算法。
其中,常用的接入网方式有多种,例如非对称数字用户环路(ADSL,Asymmetric Digital Subscriber Line)接入网方式、线缆调制解调器接入网方式和光纤接入网方式(OAN,Optical Access Network),使用ADSL接入网方式保密性好,安全系数高;线缆调制解调器接入网方式是以太网方式的接入,高速且稳定;而OAN接入网方式仅对入户线路进行改造就可以提供高速宽带网络,方便快速。
203、使用拥塞控制算法与网络服务器进行数据传输。
本实施例中,用户终端根据网络服务器确定的拥塞控制算法,与网络服务器进行数据传输。
本发明实施例中,用户终端通过新建API接口或者已有的API接口获取自身的网卡类型、接入网方式以及用户的业务需求,并将这些信息发送至网络服务器,使得网络服务器可以根据这些信息确定与用户终端进行数据传输时所使用的拥塞控制算法,网络服务器根据用户终端不同的网络特征信息选择不同的拥塞控制算法,针对具体网卡类型、接入网方式和用户的业务需求进行TCP传输,提高TCP传输效率。
可选地,在上述图2对应的实施例的基础上,本发明实施例提供的数据传输的方法第一个可选实施例中,通过已有API接口或新建API接口获取用户终端的网卡类型、接入网方式和业务需求中至少一种之后,方法还可以包括:
根据用户终端的网卡类型、接入网方式和业务需求中至少一种,确定与用户终端的网卡类型、接入网方式和业务需求中至少一种对应的拥塞控制算法;
向网络服务器发送用户终端的网卡类型、接入网方式、业务需求中至少一种,以及所述对应的拥塞控制算法。
本实施例中,已有的API接口可以获取系统支持的拥塞控制算法与部分的用户业务需求,而新建的OPENTCP API接口可以获取用户终端的网卡类型、接入网方式以及已有API接口无法获取到的部分用户业务需求,再向网络服务器发送上述系统支持的拥塞控制算法,网络服务器结合自身支持的拥塞控制算法判断是否支持用户终端发送的拥塞控制算法,如果支持,就可以直接使用该拥塞控制算法进行数据传输,但是,当不支持的时候,则网络服务器会根据用户终端发送的网卡类型、接入网方式与用户的业务需求中至少一项,来重新选择最合适的拥塞控制算法,确定为最终用于数据传输是拥塞控制算法。
其次,本发明实施例中用户终端可以通过网卡类型、接入网方式以及用户的业务需求,确定与用户终端的网卡类型和接入网方式对应的拥塞控制算法,若网络服务器也支持该拥塞控制算法则为最佳选择,否则网络服务器会选择次佳的拥塞控制算法进行数据传输,该方案的可实施性得到提升,同时在实际应用中的效果会更好,提供TCP传输的效率。
为便于理解,下面以一个具体应用场景对本发明中一种网络处理方法进行详细描述,具体为:
用户终端通过OPENTCP协议的API获取用户终端的网卡类型是以太网卡,接入网方式为固定IP,用户终端根据以太网卡的固定IP接入方式在编译好的程序中选择对应的一种拥塞控制算法A,再通过SYN报文中的options选项将这些信息发送至网络服务器,网络服务器侧接收并解析SYN报文中的options选项信息,得到用户终端为以太网卡的固定IP接入方式。
网络服务器通过OPENTCP协议的API查询得到自身并不支持拥塞控制算法A,于是网络服务器通过OPENTCP协议的API查找到以太网卡的固定IP接入方式对应的为拥塞控制算法B,而编程人员提前通过OPENTCP协议的API编译了不同网卡类型和接入网方式对应的拥塞控制算法,例如使用以太网终端时网络服务器可以选用Cubic拥塞控制算法,当使用3G或4G网络时,网络服务器可以选用Westwood拥塞控制算法,具体可以由编程人员自行编译决定。
网络服务器选择拥塞控制算法B,完成TCP三次握手后进行TCP传输,在传输过程中,网络服务器可以获取当前网络的状态信息,当网络的带宽为1兆,延时为100毫秒,网络丢包率是10.00%时,根据这些参数可以调用OPENTCP协议的API来动态调整TCP参数,TCP参数可以为初始拥塞窗口,初始拥塞窗口大小为1,在采用拥塞控制算法B时,阈值变为当前拥塞窗口值的一半,然后拥塞窗口大小重置为1,网络服务器继续采用拥塞控制算法B,使得TCP传输效率得到保证。
下面对本发明中的网络服务器进行详细描述,请参阅图3,本发明实施例中的网络服务器包括:
第一获取模块301,用于获取用于确定拥塞控制算法的信息;
第一确定模块302,用于根据所述用于确定拥塞控制算法的信息,确定与所述用户终端进行数据传输时所使用的拥塞控制算法;
第一传输模块303,用于使用所述拥塞控制算法与所述用户终端进行数据传输。
本实施例中,第一获取模块301获取用于确定拥塞控制算法的信息,第一确定模块302根据第一获取模块301获取的用于确定拥塞控制算法的信息,确定与用户终端进行数据传输时所使用的拥塞控制算法,第一传输模块303使用第一确定模块302确定的拥塞控制算法与所述用户终端进行数据传输。
本发明实施例中,网络服务器获取用户终端发送的信息,并结合自身支持的拥塞控制算法,选择最终采用的拥塞控制算法,网络服务器使用该拥塞控制算法进行TCP传输。网络服务器根据接收到的不同信息选择不同的拥塞控制算法,针对具体终端类型与接入网方式进行TCP传输,提高TCP传输效率。
在实际应用中,上述实施例中可以通过多种方式确定与用户终端进行数据传输时所使用的拥塞控制算法,为便于理解,下面分别进行说明:
一、网络服务器根据用户终端的网卡类型、接入网方式、业务需求和第一网络状态信息中至少一种确定与所述用户终端进行数据传输时所使用的拥塞控制算法;
可选地,在上述图3对应的实施例的基础上,本发明实施例提供的网络服务器第一个可选实施例中,确定模块具体用于在所述用于确定拥塞控制算法的信息包括所述用户终端的网卡类型、接入网方式、业务需求和第一网络状态信息中至少一种时,从网卡类型、接入网方式、业务需求和第一网络状态信息中的至少一种与拥塞控制算法的对应关系中,将与所述用户终端的网卡类型、接入网方式、业务需求和第一网络状态信息中的至少一种对应的拥塞控制算法,确定为与所述用户终端进行数据传输时所使用的拥塞控制算法。
其次,本实施例中网络服务器可以根据网卡类型、接入网方式、业务需求和第一网络状态信息中至少一种,确定与用户终端进行数据传输时所使用的拥塞控制算法,如此便可以灵活的根据实际应用与动态网络选择最佳的拥塞控制算法来解决网络拥塞的问题,使方案更具有灵活性,同时更具备实用性。
二、网络服务器根据用户终端确定的拥塞控制算法的类型、用户终端的网卡类型、接入网方式、业务需求以及第一网络状态信息中至少一种确定与用户终端进行数据传输时所使用的拥塞控制算法;
请参阅图4,本发明网络服务器的另一个实施例包括:
第一获取模块401,用于获取用于确定拥塞控制算法的信息;
第一确定模块402,用于根据所述用于确定拥塞控制算法的信息,确定与所述用户终端进行数据传输时所使用的拥塞控制算法;
第一传输模块403,用于使用所述拥塞控制算法与所述用户终端进行数据传输。
所述第一确定模块402可以进一步包括:
判断单元4021,用于判断是否支持所述用户终端确定的拥塞控制算法;
第一确定单元4022,用于当支持所述用户终端确定的拥塞控制算法时,将所述用户终端确定的拥塞控制算法确定为与所述用户终端进行数据传输时所使用的拥塞控制算法;
第二确定单元4023,用于当不支持所述用户终端确定的拥塞控制算法时,从网卡类型、接入网方式、业务需求和第一网络状态信息中的至少一种与拥塞控制算法的对应关系中,将与所述用户终端的网卡类型、接入网方式、业务需求和第一网络状态信息中的至少一种对应的拥塞控制算法,确定为与所述用户终端进行数据传输时所使用的拥塞控制算法。
其次,本实施例中提出一种通过判断网络服务器自身是否支持用户终端所选择的拥塞控制算法来确定最终拥塞控制算法的方法,使方案的可操作性得以提升,增加方案的灵活性。
请参阅图5,本发明网络服务器的另一个实施例包括:
第一获取模块501,用于获取用于确定拥塞控制算法的信息;
第一确定模块502,用于根据所述用于确定拥塞控制算法的信息,确定与所述用户终端进行数据传输时所使用的拥塞控制算法;
第一传输模块503,用于使用所述拥塞控制算法与所述用户终端进行数据传输;
第二获取模块504,用于获取所述用户终端与服务器通信路径上的第二网络状态信息;
调用模块505,用于根据所述第二网络状态信息,调用应用程序编程API接口,所述API接口用于修改传输控制协议TCP参数;
修正模块506,用于通过所述API接口修改所述TCP参数。
所述第一确定模块502可以进一步包括:
判断单元5021,用于判断是否支持所述用户终端确定的拥塞控制算法;
第一确定单元5022,用于当支持所述用户终端确定的拥塞控制算法时,将所述用户终端确定的拥塞控制算法确定为与所述用户终端进行数据传输时所使用的拥塞控制算法;
第二确定单元5023,用于当不支持所述用户终端确定的拥塞控制算法时,从网卡类型、接入网方式、业务需求和第一网络状态信息中的至少一种与拥塞控制算法的对应关系中,将与所述用户终端的网卡类型、接入网方式、业务需求和第一网络状态信息中的至少一种对应的拥塞控制算法,确定为与所述用户终端进行数据传输时所使用的拥塞控制算法。
再次,本实施例中,网络服务器获取网络状态信息,并根据该信息通过API接口进行TCP参数的修改,可以及时根据网络状态信息确定网络的调整策略,通过API接口动态调整TCP参数,从而提高TCP传输效率,使得方案的应用更为广泛,并且使得灵活性更进一步的提高了。
下面对本发明中的用户终端进行详细描述,请参阅图6,本发明实施例中的用户终端包括:
第三获取模块601,用于通过已有API接口或新建API接口获取用户终端的网卡类型、接入网方式和业务需求中至少一种;
第一发送模块602,用于向网络服务器发送所述用户终端的网卡类型、接入网方式和业务需求中至少一种,以使得网络服务器根据网卡类型、接入网方式和业务需求中至少一种确定拥塞控制算法;
第二传输模块603,用于使用所述拥塞控制算法与所述网络服务器进行数据传输。
本实施例中,第三获取模块601通过已有API接口或新建API接口获取用户终端的网卡类型、接入网方式和业务需求中至少一种,第一发送模块602向网络服务器发送第三获取模块601获取的用户终端的网卡类型、接入网方式和业务需求中至少一种,以使得网络服务器根据网卡类型、接入网方式和业务需求中至少一种确定拥塞控制算法,第二传输模块603使用拥塞控制算法与网络服务器进行数据传输。
本发明实施例中,用户终端通过新建API接口或者已有的API接口获取自身的网卡类型、接入网方式以及用户的业务需求,并将这些信息发送至网络服务器,使得网络服务器可以根据这些信息确定与用户终端进行数据传输时所使用的拥塞控制算法,网络服务器根据用户终端不同的网络特征信息选择不同的拥塞控制算法,针对具体网卡类型、接入网方式和用户的业务需求进行TCP传输,提高TCP传输效率。
请参阅图7,本发明实施例中用户终端的另一个实施例包括:
第三获取模块701,用于通过已有API接口或新建API接口获取所述用户终端的网卡类型、接入网方式和业务需求中至少一种;
第二确定模块702,用于根据所述用户终端的网卡类型、接入网方式和业务需求中至少一种,确定与所述用户终端的网卡类型、接入网方式和业务需求中至少一种对应的拥塞控制算法;
第一发送模块703,用于向网络服务器发送所述用户终端的网卡类型、接入网方式和业务需求中至少一种,以使得网络服务器根据网卡类型、接入网方式和业务需求中至少一种确定所述拥塞控制算法;
第二传输模块704,用于使用所述拥塞控制算法与所述网络服务器进行数据传输。
所述第一发送模块703可以进一步包括:
发送单元7031,用于向所述网络服务器发送所述用户终端的网卡类型、接入网方式、业务需求中至少一种,以及所述对应的拥塞控制算法;
其次,本发明实施例中用户终端可以通过网卡类型、接入网方式以及用户的业务需求,确定与用户终端的网卡类型和接入网方式对应的拥塞控制算法,若网络服务器也支持该拥塞控制算法则为最佳选择,否则网络服务器会选择次佳的拥塞控制算法进行数据传输,该方案的可实施性得到提升,同时在实际应用中的效果会更好,提供TCP传输的效率。
图8是本发明实施例提供的一种服务器结构示意图,该服务器800可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(CPU,central processing units)822(例如,一个或一个以上处理器)和存储器832,一个或一个以上存储应用程序842或数据844的存储介质830(例如一个或一个以上海量存储设备)。其中,存储器832和存储介质830可以是短暂存储或持久存储。存储在存储介质830的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器822可以设置为与存储介质830通信,在服务器800上执行存储介质830中的一系列指令操作。
服务器800还可以包括一个或一个以上电源826,一个或一个以上有线或无线网络接口850,一个或一个以上输入输出接口858,和/或,一个或一个以上操作系统841,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述实施例中由服务器所执行的步骤可以基于该图8所示的服务器结构。
本发明实施例还提供了一种用户终端装置,如图9所示,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。该终端可以为包括手机、平板电脑、PDA(Personal DigitalAssistant,个人数字助理)、POS(Point of Sales,销售终端)、车载电脑等任意终端设备,以终端为手机为例:
图9示出的是与本发明实施例提供的终端相关的手机的部分结构的框图。参考图9,手机包括:射频(Radio Frequency,RF)电路910、存储器920、输入单元930、显示单元940、传感器950、音频电路960、无线保真(wirelessfidelity,WiFi)模块970、处理器980、以及电源990等部件。本领域技术人员可以理解,图9中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图9对手机的各个构成部件进行具体的介绍:
RF电路910可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器980处理;另外,将设计上行的数据发送给基站。通常,RF电路910包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low Noise Amplifier,LNA)、双工器等。此外,RF电路910还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(Global Systemof Mobile communication,GSM)、通用分组无线服务(General Packet RadioService,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、长期演进(Long Term Evolution,LTE)、电子邮件、短消息服务(Short Messaging Service,SMS)等。
存储器920可用于存储软件程序以及模块,处理器980通过运行存储在存储器920的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器920可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器920可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元930可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元930可包括触控面板931以及其他输入设备932。触控面板931,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板931上或在触控面板931附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板931可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器980,并能接收处理器980发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板931。除了触控面板931,输入单元930还可以包括其他输入设备932。具体地,其他输入设备932可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元940可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元940可包括显示面板941,可选的,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-EmittingDiode,OLED)等形式来配置显示面板941。进一步的,触控面板931可覆盖显示面板941,当触控面板931检测到在其上或附近的触摸操作后,传送给处理器980以确定触摸事件的类型,随后处理器980根据触摸事件的类型在显示面板941上提供相应的视觉输出。虽然在图9中,触控面板931与显示面板941是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板931与显示面板941集成而实现手机的输入和输出功能。
手机还可包括至少一种传感器950,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板941的亮度,接近传感器可在手机移动到耳边时,关闭显示面板941和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路960、扬声器961,传声器962可提供用户与手机之间的音频接口。音频电路960可将接收到的音频数据转换后的电信号,传输到扬声器961,由扬声器961转换为声音信号输出;另一方面,传声器962将收集的声音信号转换为电信号,由音频电路960接收后转换为音频数据,再将音频数据输出处理器980处理后,经RF电路910以发送给比如另一手机,或者将音频数据输出至存储器920以便进一步处理。
WiFi属于短距离无线传输技术,手机通过WiFi模块970可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图9示出了WiFi模块970,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器980是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器920内的软件程序和/或模块,以及调用存储在存储器920内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器980可包括一个或多个处理单元;优选的,处理器980可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器980中。
手机还包括给各个部件供电的电源990(比如电池),优选的,电源可以通过电源管理系统与处理器980逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
下面对本发明实施例中的数据传输系统进行描述,请参阅图10,本发明实施例中的数据传输系统包括:
网络服务器1001以及用户终端1002;
网络服务器1001获取用于确定拥塞控制算法的信息,网络服务器1001根据所述用于确定拥塞控制算法的信息,确定与所述用户终端1002进行数据传输时所使用的拥塞控制算法,网络服务器1001使用所述拥塞控制算法与所述用户终端1002进行数据传输;
用户终端1002通过已有API接口或新建API接口获取所述用户终端1002的网卡类型、接入网方式和业务需求中至少一种,用户终端1002向网络服务器1001发送所述用户终端1002的网卡类型、接入网方式和业务需求中至少一种,以使得网络服务器1001根据网卡类型、接入网方式和业务需求中至少一种确定所述拥塞控制算法,用户终端1002使用所述拥塞控制算法与所述网络服务器1001进行数据传输。
本发明实施例中,网络服务器获取用户终端发送的信息,并结合自身支持的拥塞控制算法,选择最终采用的拥塞控制算法,网络服务器使用该拥塞控制算法进行TCP传输。网络服务器根据接收到的不同信息选择不同的拥塞控制算法,针对具体终端类型与接入网方式进行TCP传输,提高TCP传输效率。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (13)

1.一种数据传输的方法,其特征在于,包括:
获取用于确定拥塞控制算法的信息;
根据所述用于确定拥塞控制算法的信息,确定与所述用户终端进行数据传输时所使用的拥塞控制算法;
使用所述拥塞控制算法与所述用户终端进行数据传输。
2.根据权利要求1所述的方法,其特征在于,所述用于确定拥塞控制算法的信息包括所述用户终端的网卡类型、接入网方式、业务需求和第一网络状态信息中至少一种时,所述根据所述用于确定拥塞控制算法的信息,确定与所述用户终端进行数据传输时所使用的拥塞控制算法,包括:
从网卡类型、接入网方式、业务需求和第一网络状态信息中的至少一种与拥塞控制算法的对应关系中,将与所述用户终端的网卡类型、接入网方式、业务需求和第一网络状态信息中的至少一种对应的拥塞控制算法,确定为与所述用户终端进行数据传输时所使用的拥塞控制算法。
3.根据权利要求2所述的方法,其特征在于,所述用于确定拥塞控制算法的信息还包括所述用户终端确定的拥塞控制算法的类型时,所述从网卡类型、接入网方式、业务需求和第一网络状态信息中的至少一种与拥塞控制算法的对应关系中,将与所述用户终端的网卡类型、接入网方式、业务需求和第一网络状态信息中的至少一种对应的拥塞控制算法,确定为与所述用户终端进行数据传输时所使用的拥塞控制算法,包括:
判断是否支持所述用户终端确定的拥塞控制算法;
当支持所述用户终端确定的拥塞控制算法时,将所述用户终端确定的拥塞控制算法确定为与所述用户终端进行数据传输时所使用的拥塞控制算法;
当不支持所述用户终端确定的拥塞控制算法时,从网卡类型、接入网方式、业务需求和第一网络状态信息中的至少一种与拥塞控制算法的对应关系中,将与所述用户终端的网卡类型、接入网方式、业务需求和第一网络状态信息中的至少一种对应的拥塞控制算法,确定为与所述用户终端进行数据传输时所使用的拥塞控制算法。
4.根据权利要求1至3任一所述的方法,其特征在于,所述使用所述拥塞控制算法与所述用户终端进行数据传输时,所述方法还包括:
获取所述用户终端与服务器通信路径上的第二网络状态信息;
根据所述第二网络状态信息,调用应用程序编程AP I接口,所述API接口用于修改传输控制协议TCP参数;
通过所述API接口修改所述TCP参数。
5.一种数据传输的方法,其特征在于,包括:
通过已有API接口或新建API接口获取用户终端的网卡类型、接入网方式和业务需求中至少一种;
向网络服务器发送所述用户终端的网卡类型、接入网方式和业务需求中至少一种,以使得网络服务器根据网卡类型、接入网方式和业务需求中至少一种确定拥塞控制算法;
使用所述拥塞控制算法与所述网络服务器进行数据传输。
6.根据权利要求5所述的方法,其特征在于,所述通过已有API接口或新建API接口获取所述用户终端的网卡类型、接入网方式和业务需求中至少一种之后,所述方法还包括:
根据所述用户终端的网卡类型、接入网方式和业务需求中至少一种,确定与所述用户终端的网卡类型、接入网方式和业务需求中至少一种对应的拥塞控制算法;
所述向网络服务器发送所述用户终端的网卡类型、接入网方式和业务需求中至少一种,包括:
向所述网络服务器发送所述用户终端的网卡类型、接入网方式、业务需求中至少一种,以及所述对应的拥塞控制算法。
7.一种网络服务器,其特征在于,包括:
第一获取模块,用于获取用于确定拥塞控制算法的信息;
第一确定模块,用于根据所述用于确定拥塞控制算法的信息,确定与所述用户终端进行数据传输时所使用的拥塞控制算法;
第一传输模块,用于使用所述拥塞控制算法与所述用户终端进行数据传输。
8.根据权利要求7所述的网络服务器,其特征在于,所述确定模块具体用于在所述用于确定拥塞控制算法的信息包括所述用户终端的网卡类型、接入网方式、业务需求和第一网络状态信息中至少一种时,从网卡类型、接入网方式、业务需求和第一网络状态信息中的至少一种与拥塞控制算法的对应关系中,将与所述用户终端的网卡类型、接入网方式、业务需求和第一网络状态信息中的至少一种对应的拥塞控制算法,确定为与所述用户终端进行数据传输时所使用的拥塞控制算法。
9.根据权利要求8所述的网络服务器,其特征在于,所述第一确定模块包括:
判断单元,用于判断是否支持所述用户终端确定的拥塞控制算法;
第一确定单元,用于当支持所述用户终端确定的拥塞控制算法时,将所述用户终端确定的拥塞控制算法确定为与所述用户终端进行数据传输时所使用的拥塞控制算法;
第二确定单元,用于当不支持所述用户终端确定的拥塞控制算法时,从网卡类型、接入网方式、业务需求和第一网络状态信息中的至少一种与拥塞控制算法的对应关系中,将与所述用户终端的网卡类型、接入网方式、业务需求和第一网络状态信息中的至少一种对应的拥塞控制算法,确定为与所述用户终端进行数据传输时所使用的拥塞控制算法。
10.根据权利要求7至9任一所述的网络服务器,其特征在于,所述网络服务器还包括:
第二获取模块,用于获取所述用户终端与服务器通信路径上的第二网络状态信息;
调用模块,用于根据所述第二网络状态信息,调用应用程序编程AP I接口,所述API接口用于修改传输控制协议TCP参数;
修正模块,用于通过所述API接口修改所述TCP参数。
11.一种用户终端,其特征在于,包括:
第三获取模块,用于通过已有API接口或新建API接口获取用户终端的网卡类型、接入网方式和业务需求中至少一种;
第一发送模块,用于向网络服务器发送所述用户终端的网卡类型、接入网方式和业务需求中至少一种,以使得网络服务器根据网卡类型、接入网方式和业务需求中至少一种确定拥塞控制算法;
第二传输模块,用于使用所述拥塞控制算法与所述网络服务器进行数据传输。
12.根据权利要求11所述的用户终端,其特征在于,所述用户终端还包括:
第二确定模块,用于根据所述用户终端的网卡类型、接入网方式和业务需求中至少一种,确定与所述用户终端的网卡类型、接入网方式和业务需求中至少一种对应的拥塞控制算法;
所述第一发送模块包括:
发送单元,用于向所述网络服务器发送所述用户终端的网卡类型、接入网方式、业务需求中至少一种,以及所述对应的拥塞控制算法。
13.一种数据传输的系统,其特征在于,包括:网络服务器和用户终端
所述网络服务器为上述权利要求7至10中任一项所述的网络服务器;
所述用户终端为上述权利要求11至12任一项所述的用户终端。
CN201510014307.1A 2015-01-12 2015-01-12 一种数据传输的方法、网络服务器、用户终端及系统 Active CN105847168B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201510014307.1A CN105847168B (zh) 2015-01-12 2015-01-12 一种数据传输的方法、网络服务器、用户终端及系统
KR1020177022309A KR20170103921A (ko) 2015-01-12 2015-10-30 데이터 전송 방법 및 시스템, 네트워크 서버 및 사용자 단말
PCT/CN2015/093380 WO2016112728A1 (zh) 2015-01-12 2015-10-30 一种数据传输的方法、网络服务器、用户终端及系统
EP15877641.9A EP3236621A4 (en) 2015-01-12 2015-10-30 Data transmission method, network server, user terminal and system
US15/646,853 US20170310593A1 (en) 2015-01-12 2017-07-11 Data Transmission Method and System, Network Server, and User Terminal

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510014307.1A CN105847168B (zh) 2015-01-12 2015-01-12 一种数据传输的方法、网络服务器、用户终端及系统

Publications (2)

Publication Number Publication Date
CN105847168A true CN105847168A (zh) 2016-08-10
CN105847168B CN105847168B (zh) 2020-01-31

Family

ID=56405216

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510014307.1A Active CN105847168B (zh) 2015-01-12 2015-01-12 一种数据传输的方法、网络服务器、用户终端及系统

Country Status (5)

Country Link
US (1) US20170310593A1 (zh)
EP (1) EP3236621A4 (zh)
KR (1) KR20170103921A (zh)
CN (1) CN105847168B (zh)
WO (1) WO2016112728A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108011734A (zh) * 2016-10-27 2018-05-08 常州市小先信息技术有限公司 基于软件定义的终端管理架构
CN109218944A (zh) * 2018-09-05 2019-01-15 广州市奥威亚电子科技有限公司 一种基于有线麦克风长距离传输方法及系统
CN109309934A (zh) * 2017-07-27 2019-02-05 华为技术有限公司 一种拥塞控制方法及相关设备
CN110784414A (zh) * 2019-10-30 2020-02-11 北京达佳互联信息技术有限公司 数据交互方法、装置和电子设备
CN112822230A (zh) * 2020-12-28 2021-05-18 南京大学 一种基于概率的发送端初始速率设置方法和系统

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9813299B2 (en) * 2016-02-24 2017-11-07 Ciena Corporation Systems and methods for bandwidth management in software defined networking controlled multi-layer networks
US10848602B2 (en) * 2016-07-08 2020-11-24 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for implementing congestion control negotiation
US10680897B2 (en) * 2017-07-31 2020-06-09 Cisco Technology, Inc. Network modification impact prediction
CN109587336B (zh) * 2018-12-06 2021-03-12 Oppo广东移动通信有限公司 数据传输方法及相关装置
CN113300969B (zh) * 2021-05-20 2022-07-12 清华大学深圳国际研究生院 基于场景变化的拥塞控制切换方法、存储介质和电子设备
US20230015697A1 (en) * 2021-07-13 2023-01-19 Citrix Systems, Inc. Application programming interface (api) authorization
CN113852988B (zh) * 2021-09-10 2023-11-24 武汉联影医疗科技有限公司 拥塞控制方法、装置、计算机设备和存储介质
US20240015581A1 (en) * 2022-07-08 2024-01-11 Qualcomm Incorporated Congestion control algorithms

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070248013A1 (en) * 2006-04-21 2007-10-25 Microsoft Corporation Enabling network devices to run multiple congestion control algorithms
CN101115002A (zh) * 2007-03-19 2008-01-30 重庆邮电大学 利用TCP Veno提高无线自组织网络性能的方法
US20080144503A1 (en) * 2006-12-14 2008-06-19 Sun Microsystems, Inc. Method and system for network stack tuning
CN102421142A (zh) * 2011-12-01 2012-04-18 重庆邮电大学 一种车载通信网中基于跨层设计的tcp拥塞控制方法
CN103152279A (zh) * 2007-03-12 2013-06-12 思杰系统有限公司 用于在tcp拥塞控制中提供服务质量优先的系统和方法
WO2013082789A1 (zh) * 2011-12-08 2013-06-13 华为技术有限公司 一种拥塞控制方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7006440B2 (en) * 2001-10-26 2006-02-28 Luminous Networks, Inc. Aggregate fair queuing technique in a communications system using a class based queuing architecture
EP1451994B1 (en) * 2001-11-23 2005-12-28 Nokia Corporation Method and system for handling network congestion
CN101917342A (zh) * 2010-08-25 2010-12-15 天津理工大学 一种面向普适服务的自适应网络拥塞控制方法
CN104168174A (zh) * 2013-05-16 2014-11-26 阿里巴巴集团控股有限公司 一种传输信息的方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070248013A1 (en) * 2006-04-21 2007-10-25 Microsoft Corporation Enabling network devices to run multiple congestion control algorithms
US20080144503A1 (en) * 2006-12-14 2008-06-19 Sun Microsystems, Inc. Method and system for network stack tuning
CN103152279A (zh) * 2007-03-12 2013-06-12 思杰系统有限公司 用于在tcp拥塞控制中提供服务质量优先的系统和方法
CN101115002A (zh) * 2007-03-19 2008-01-30 重庆邮电大学 利用TCP Veno提高无线自组织网络性能的方法
CN102421142A (zh) * 2011-12-01 2012-04-18 重庆邮电大学 一种车载通信网中基于跨层设计的tcp拥塞控制方法
WO2013082789A1 (zh) * 2011-12-08 2013-06-13 华为技术有限公司 一种拥塞控制方法及装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108011734A (zh) * 2016-10-27 2018-05-08 常州市小先信息技术有限公司 基于软件定义的终端管理架构
CN109309934A (zh) * 2017-07-27 2019-02-05 华为技术有限公司 一种拥塞控制方法及相关设备
US11363488B2 (en) 2017-07-27 2022-06-14 Huawei Technologies Co., Ltd. Congestion control method and related device
CN109218944A (zh) * 2018-09-05 2019-01-15 广州市奥威亚电子科技有限公司 一种基于有线麦克风长距离传输方法及系统
CN110784414A (zh) * 2019-10-30 2020-02-11 北京达佳互联信息技术有限公司 数据交互方法、装置和电子设备
CN112822230A (zh) * 2020-12-28 2021-05-18 南京大学 一种基于概率的发送端初始速率设置方法和系统

Also Published As

Publication number Publication date
KR20170103921A (ko) 2017-09-13
US20170310593A1 (en) 2017-10-26
CN105847168B (zh) 2020-01-31
WO2016112728A1 (zh) 2016-07-21
EP3236621A4 (en) 2018-01-10
EP3236621A1 (en) 2017-10-25

Similar Documents

Publication Publication Date Title
CN105847168A (zh) 一种数据传输的方法、网络服务器、用户终端及系统
CN107133094B (zh) 应用管理方法、移动终端及计算机可读存储介质
CN103533387B (zh) 一种视频直播控制方法、设备及系统
CN103501333B (zh) 一种下载文件的方法、装置和终端设备
CN106686626B (zh) WiFi漫游的设置方法及终端设备
CN104135501B (zh) 页面分享方法、装置及系统
CN103458408A (zh) 网络连接方法、网络共享方法及装置
CN106162316A (zh) 一种视频流的数据处理方法、装置和系统
CN107135128B (zh) 调用链数据采集方法、移动终端及计算机可读存储介质
KR20150099889A (ko) 토폴로지 관리 방법 및 이를 수행하는 네트워크 시스템
CN109995701A (zh) 一种设备引导的方法、终端以及服务器
CN106302808A (zh) 数据传输方法及移动终端
CN106507482A (zh) 一种网络定位方法及终端设备
CN106034114A (zh) 多媒体信息分享方法及装置
WO2020147645A1 (zh) 链路聚合实现方法及相关产品
EP3843459A1 (en) Communication system switching method and terminal device
CN106603740B (zh) 网络连接异常的处理方法与终端设备
CN106453839A (zh) 天线的调整方法及移动终端
CN108574735A (zh) 数据处理方法、终端及计算机可读存储介质
CN106454975A (zh) 一种热点网络切换方法及终端设备
CN104468060A (zh) 一种媒体接入控制层上行数据组装的方法和装置
CN106547874A (zh) 多媒体推荐方法及装置
CN106470234A (zh) 一种设备发现的方法及装置
CN107249168A (zh) 一种数据定向传输与接收方法及装置
CN107483603A (zh) 推送消息的方法、推送服务器、应用服务器及存储介质

Legal Events

Date Code Title Description
C06 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