CN108540400A - 一种数据传输控制方法、控制装置、终端及可读存储介质 - Google Patents
一种数据传输控制方法、控制装置、终端及可读存储介质 Download PDFInfo
- Publication number
- CN108540400A CN108540400A CN201810231994.6A CN201810231994A CN108540400A CN 108540400 A CN108540400 A CN 108540400A CN 201810231994 A CN201810231994 A CN 201810231994A CN 108540400 A CN108540400 A CN 108540400A
- Authority
- CN
- China
- Prior art keywords
- tcp
- application program
- transmission rate
- size
- data packet
- 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.)
- Withdrawn
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/27—Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/19—Flow control; Congestion control at layers above the network layer
- H04L47/193—Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/26—Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
- H04L47/263—Rate modification at the source after receiving feedback
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/163—In-band adaptation of TCP data exchange; In-band control procedures
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数据包;获取所述TCP数据包的大小;基于所述传输速率级别和所述TCP数据包的大小调整所述应用程序的TCP窗口大小。通过分析应用程序类别,以及其对传输速率要求的不同,实现了不同应用程序数据传输速率的独立调整,在保证对传输速率有更高要求应用较大带宽的基础上,不依赖终端整体带宽提高的苛刻要求,提高了用户体验的同时,扩大了使用的便利性和稳定性。
Description
技术领域
本发明涉及终端数据传输技术领域,特别涉及一种数据传输控制方法、控制装置、终端及可读存储介质。
背景技术
移动终端已成为用户日常生活中必不可少的电子产品,用户可以利用移动终端上的应用程序下载视频、图片等,来满足用户的需求。用户通过移动终端上的应用程序下载视频、图片等时,可以是应用程序从对应的服务器中下载的,例如,用户可以使用移动终端上的百度浏览器下载图片,百度浏览器与对应的服务器建立传输控制协议(TransmissionControl Protocol,TCP)连接,从服务器中下载图片。
随着终端的快速发展,使用者对于终端上各种类型应用程序的依赖程度越来越高,进而对应用程序的通讯的即时性也提出了更高的要求,然而目前应用程序的即时通讯能力的表现却往往并不能够满足我们的要求,因此,如何提高终端传输速率已经成为了行业内的普遍难题。当前的普遍做法是,通过提高终端通讯能力,提高整个终端网络的带宽,进而给不同应用提供更大的带宽来传输,但基于终端所述的环境不同以及目前网络、硬件条件,通过提高整个终端网络的带宽能够应用的环境十分有限,效果较差。
发明内容
本发明实施例公开了一种数据传输控制方法、控制装置、终端及可读存储介质,用以解决现有技术中存在的问题。
为达到上述目的,本发明实施例公开了一种数据传输控制方法,包括:确定应用程序对应的传输速率级别,所述应用程序为待调整数据传输的应用程序;接收服务器发送的TCP数据包;获取所述TCP数据包的大小;基于所述传输速率级别和所述TCP数据包的大小调整所述应用程序的TCP窗口大小。
在该实施例中,一种优选的方式,所述方法还包括,发送ACK数据包给服务器,所述ACK数据包中包括调整后的TCP窗口大小。
在该实施例中,另一种优选的方式,若实际传输速率高于所述调整后的TCP窗口大小超过预设时长,则在所述包括调整后的TCP窗口大小的ACK数据包中间插入零窗口zerowindow。
在该实施例中,另一种优选的方式,所述方法还包括:根据调整后的TCP窗口大小接收服务器发送的TCP数据包。
在该实施例中,另一种优选的方式,所述基于所述传输速率级别和所述TCP数据包的大小调整所述应用程序的TCP窗口大小,具体包括:基于所述传输速率级别和所述TCP数据包的大小逐级递增或递减所述应用程序的TCP窗口大小。
在该实施例中,另一种优选的方式,所述确定应用程序对应的传输速率级别,具体包括根据应用程序类别、状态和/或使用频率确定传输速率级别。
在该实施例中,另一种优选的方式,所述接收服务器发送的TCP数据包后,所述方法还包括:获取套接字socket和UID,根据所述套接字socket和UID确定与所述TCP窗口对应的应用程序。
本发明另一实施例还公开了一种数据传输控制装置,包括:第一确定单元,确定应用程序对应的传输速率级别,所述应用程序为待调整数据传输的应用程序;接收单元,接收服务器发送的TCP数据包;获取单元,获取所述TCP数据包的大小;调整单元,基于所述传输速率级别和所述TCP数据包的大小调整TCP窗口的大小。
在该实施例中,另一种优选的方式,所述数据传输装置还包括发送单元,发送ACK数据包给服务器,所述ACK数据包中包括调整后的TCP窗口大小。
在该实施例中,另一种优选的方式,若实际传输速率高于所述调整后的TCP窗口大小超过预设时长,所述发送单元还用于,在所述包括调整后的TCP窗口大小的ACK数据包中间插入零窗口zero window的ACK数据包。
在该实施例中,另一种优选的方式,所述接收单元还用于:根据所述调整后的TCP窗口大小接收服务器发送的TCP数据包。
在该实施例中,另一种优选的方式,调整单元具体用于:基于所述传输速率级别和所述TCP数据包的大小逐级递增或递减TCP窗口的大小。
在该实施例中,另一种优选的方式,确定单元具体用于,根据应用程序类别、状态和/或使用频率确定传输速率级别。
在该实施例中,另一种优选的方式,获取模块还用于,获取套接字socket和UID;所述数据传输控制装置还包括,第二确定单元,根据所述套接字socket和UID确定与所述与所述TCP窗口对应的应用程序。
本发明另外一种实施例公开了一种终端,所述终端包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现上述任一实施方式中所述数据传输控制方法的步骤。
本发明另外一种实施例公开了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述任一实施方式中所述数据传输控制方法的步骤。
在本发明实施例中,确定应用程序对应的传输速率级别,所述应用程序为待调整数据传输速率的应用程序;接收服务器发送的TCP数据包;获取所述TCP数据包的大小;基于所述传输速率级别和所述TCP数据包的大小调整所述应用程序的TCP窗口大小。通过确定应用程序类别,以及其对传输速率要求的不同,实现了不同应用程序数据传输速率的独立调整,在保证对传输速率有更高要求应用较大带宽的基础上,不依赖终端整体带宽提高的苛刻要求,提高了用户体验的同时,扩大了使用的便利性和稳定性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明第一实施例提供的数据传输控制方法流程示意图;
图2为本发明第二实施例提供的数据传输控制方法流程示意图;
图3为本发明第三实施例提供的数据传输控制装置的示例性的功能模块图;
图4为本发明提供的一种终端的实施例示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明实施例提供了一种数据传输控制方法、控制装置、终端及可读存储介质。
实施例1:
图1为本发明实施例1提供的一种流程示意图,该流程包括以下步骤:
S101:确定应用程序对应的传输速率级别;
在终端与服务器建立TCP连接时,会根据算法得出TCP window size告知服务器,其中TCP window size是接收端的TCP协议缓存中剩余多少空间,用来暂时保存接受的TCP数据。本发明实施例注意到,针对不同应用程序会存在不同的window size窗口大小,窗口缓存中的数据会发送到应用程序,为后续新接受的数据腾出空间,因此,基于不同应用程序的window size窗口大小,如何能够实现应用程序下载速率高效控制,是本发明所要讨论的重点。
由于在终端中安装的应用程序对于下载速率的需求存在不同,不同应用程序类别在下载速率的需求上存在差别,诸如需要联网进行的实时游戏类应用,下载速率要求极高,而文字信息类应用相对较弱,同时,应用程序的状态和使用频率的不同,其对下载速率的需求也存在不同。数据流量在速率需求不同的应用程序之间进行合理调度,是本发明所要讨论的。
本实施方式中确定应用程序对应的传输速率级别,可以选择需要进行调控数据传输速率的应用程序作为确定的对象,而传输速率级别可以是本领域技术人员根据不同应用程序对速率需求的不同,以及需求速率的范围来确定级别。作为举例,实时联网的游戏类应用需要300K以上的下载速率,此时设置此类应用的数据传输速率需要280K-320K,其级别为等级1,资讯查看类应用为需要80K-120K,其级别为等级2,文字聊天类应用为需要20K-40K,其级别为等级3。除了依据应用程序类别来设置其传输速率级别外,还可以设置使用频率高的应用,速率级别更高,使用频率较低的应用,速率级别随之也稍低;前台应用的速率级别更高,后台应用依据推到后台的时间长度传输速率级别也随之降低。此处应用程序传输速率级别的设置方式,以保证用户使用各种应用时良好的应用体验作为基本原则,本领域技术人员可根据不同场景进行合理设置。
优选地,本发明实施例1所述确定应用程序对应的传输速率级别,具体包括根据应用程序类别、状态和/或使用频率确定传输速率级别。
S102:接收服务器发送的TCP数据包;
S103:获取所述TCP数据包的大小;
终端接收服务器发送的TCP数据包,该数据包中包括了不同应用程序传输数据的数据包,通过与应用程序的对应关系,识别出当前服务器发送至应用程序的TCP数据包的大小,该数据包的大小即为当前对应该应用程序的数据传输速率。因此,通过S102和S103可以获得当前应用程序的数据传输速率。
服务器发送的TCP数据包中包括不同应用程序的数据包,终端需要在不用应用程序的数据包中识别出步骤S101中确定了传输速率级别的应用程序的数据包。本发明实施例1中优选地采取如下方式完成,获取TCP数据包中的套接字socket和UID,根据所述套接字socket和UID确定步骤S101确定了传输速率级别的应用程序。
由于应用程序用TCP协议通信是以套接字socket向网络发出请求或者应答网络请求,本发明实施里以socket为基础单元来控制TCP速率,结合每个应用程序都有自己的UID,配合UID来管控每个应用程序的TCP速率。当客户端和服务器建立socket连接后,客户端接收发来的TCP数据包时,具体实现可以在kernel netfilter子系统里,利用hook机制,在IP层hook点
NF_INET_LOCAL_IN位置插入hook函数来实现,从TCP数据包里获取到UID和这个包的bytes并记录下来,该byetes数用来统计每个应用程序的速率,客户端以ACK包回复服务器,其中TCP协议规定接收端对已成功收到的包需发回一个相应的确认ACK给服务器,在ACK包发送前,我们调整TCP window size来告诉服务器我们能收取的数据,服务器就会调整后续发送的数据量。
S104:基于所述传输速率级别和所述TCP数据包的大小调整所述应用程序的TCP窗口大小。
通过确定需要调控的应用程序和应用程序的传输速率等级,即为目标调控速率,以及步骤S103获取的应用程序当前接收的TCP数据包的大小,基于TCP协议中window size机制,改变应用程序的数据传输中的TCP window size大小进行,进而使得服务器按照调整后的window size向终端的该应用程序发送数据。
本发明实施方式一,确定应用程序对应的传输速率级别,所述应用程序为待调整数据传输速率的应用程序;接收服务器发送的TCP数据包;获取所述TCP数据包的大小;基于所述传输速率级别和所述TCP数据包的大小调整所述应用程序的TCP窗口大小。通过确定应用程序类别,以及其对传输速率要求的不同,实现了不同应用程序数据传输速率的独立调整,在保证对传输速率有更高要求应用较大带宽的基础上,不依赖终端整体带宽提高的苛刻要求,提高了用户体验的同时,扩大了使用的便利性和稳定性。
实施例2:
图2为本发明实施例2提供的一种流程示意图,实施例二中同实施例一中相同的步骤所涉及的实现细节,在实施例一中已经有详细描述,为节省篇幅,在本实施方式中就不再详述.
本发明实施例2一种数据传输控制方法,包括,
S201:确定应用程序对应的传输速率级别;
S202:接收服务器发送的TCP数据包;
S203:获取TCP数据包的大小;
终端接收服务器发送的TCP数据包,该数据包中包括了不同应用程序传输数据的数据包,通过与应用程序的对应关系,识别出当前服务器发送至应用程序的TCP数据包的大小,该数据包的大小即为当前对应该应用程序的数据传输速率。因此,通过S201-S103可以获得当前应用程序的数据传输速率,以及应用程序所需要调整到的传输速率。服务器发送的TCP数据包中包括不同应用程序的数据包,终端需要在不用应用程序的数据包中识别出步骤S101中确定了传输速率级别的应用程序的数据包。本发明实施例1中优选地采取如下方式完成,获取TCP数据包中的套接字socket和UID,根据所述套接字socket和UID确定步骤S101确定了传输速率级别的应用程序。
由于应用程序用TCP协议通信是以套接字socket向网络发出请求或者应答网络请求,本发明实施里以socket为基础单元来控制TCP速率,结合每个应用程序都有自己的UID,配合UID来管控每个应用程序的TCP速率。当客户端和服务器建立socket连接后,客户端接收发来的TCP数据包时,具体实现可以在kernel netfilter子系统里,利用hook机制,在IP层hook点NF_INET_LOCAL_IN位置插入hook函数来实现,从TCP数据包里获取到UID和这个包的bytes并记录下来,该byetes数用来统计每个应用程序的速率,客户端以ACK包回复服务器,其中TCP协议规定接收端对已成功收到的包需发回一个相应的确认ACK给服务器,在ACK包发送前,我们调整TCP window size来告诉服务器我们能收取的数据,服务器就会调整后续发送的数据量。
S204:基于所述传输速率级别和所述TCP数据包的大小逐级递增或递减所述应用程序的TCP窗口大小;
在步骤S201-S203确定了待调整应用程序当前数据传输速率和需要调整到的传输速率后,基于TCP协议中window size机制,改变应用程序的数据传输中的TCP window size大小进行,进而使得服务器按照调整后的window size向终端的该应用程序发送数据。需要说明的是,为了保证在对window size调整过程中终端和服务器稳定的数据传输,在将当前传输速率调整到上述传输速率级别对应的传输速率过程中,需要逐级进行调整。举例地,应用程序传输速率级别为等级1,对应的传输速率为280K-320K,此时当前TCP数据包为100K,即当前服务器向应用程序发送速率为100K,此时与目标调整速率300K相差200K,可以根据终端情况不同,设置分为两级或者四级进行调节,在两级调节中,先将TCP window size设置为200K,之后再次将TCP window size设置为300K,而四级调节中可以分别设置windowsize为150K;200K;250K;300K。同样地,在需要将应用程序数据传输速率降低的过程中也采用逐级调整的方式。通过逐级调整,能够保证在调整过程中终端应用程序的稳定数据传输,在整个调整过程中最大程度降低了对用户的影响,实现速率调控的同时保证了良好的用户体验。
需要特别说明的是,在上述调整过程中,限制应用程序下载速度时,由于网络环境波动,服务器负载,终端进程调度延迟等因素,在window size一直维持在某一数值时,服务器发送至终端的该应用程序TCP数据包却一直无法稳定至上述数值,通常表现为大于上述数值,即无法下降到上述window size的数值。本发明实施例采用穿插几个zero window的ACK数据包来解决该问题,若实际传输速率高于所述调整后的TCP窗口大小超过预设时长,则在所述包括调整后的TCP窗口大小的ACK数据包中间插入零窗口zero window。
举例说明,当前应用程序的传输速率级别为等级2,80K-120K,此时终端向服务器发送的ACK数据包中window size为100K,当该应用程序的TCP下载速率一直维持在150K达到预设时长时,本发明实施例采用在多个window size为100K的ACK数据包中间穿插几个zero window来确保该应用程序的TCP下载速率能够维持在100K。
需要说明的是,zero window意思是告诉服务器没有window可以接收新数据,服务器会发送TCP keep alive包来保持连接,客户端有window后就可再次发送数据了,所以只要我们不一直持续发送zero window,和服务器的连接就不会断开。上述预设时长可以根据终端应用的类型/使用情况,资源消耗情况等多因素考虑,根据上述因素,可以设置为30s、60s等时长。
另外需要说明的是,在穿插zero window时,可以设置预设数量的window size为100K的ACK数据包为一个周期,在该周期内的window size为100K的ACK数据包中均匀插入zero window数据包,从而终端向服务器发送的流量需求稳定变化,进而能够保证终端TCP下载速率稳定的变化,将对应用程序使用造成的影响降低到最小程度,确保了用户的使用体验。
S205:发送ACK数据包给服务器;
在完成步骤S204对应用程序的TCP window size窗口大小进行调整后,终端将包含有该调整后window size的ACK数据包发送给服务器,通过该ACK数据包调整应用程序的下载速率。通过TCP协议进行数据传输,需要终端发送ACK数据包给服务器来确认,数据在网络传输中存在往返时延(Round-Trip Time,RTT),服务器每发送下一个数据包之前都要收到接收端的ACK才发送,如果发送端每次发送的数据较少,严重影响TCP的传输带宽。因此接收端在与发送端建立TCP连接时,可以根据算法确定出自身对应的TCP window size(TCP窗口大小),并向发送端发送该TCP window size,发送端就可以一次最多发送TCP windowsize大小的数据包,这样可以大大加快TCP的传出带宽。该TCP window size表示接收端剩余多少缓存空间,可以用来缓存接收到的TCP数据,接收端可以在缓存空间中取出缓存数据,以便缓存新的数据。
图3是本发明一实施方式的数据传输控制装置的示例性的功能模块图数据传输控制装置能够基于TCP数据传输特征,结合应用程序对下载速率需求的不同,合理调配不同应用的TCP window size,进而保证了高下载需求应用的下载速率,提升了使用者的使用体验。
需要说明的是,对应上述数据传输控制方法的各实施方式,数据传输控制装置可以包括图3中所示的各功能模块中的一部分或全部。以上数据传输控制方式的各实施方式中相同的名词相关名词及方法中的具体的解释说明也可以适用于以下对各模块的功能介绍。为节省篇幅及避免重复起见,在此就不再赘述。
如图3所述,数据传输控制装置,包括:第一确定单元,确定应用程序对应的传输速率级别,所述应用程序为待调整数据传输的应用程序;
接收单元,接收服务器发送的TCP数据包;
获取单元,获取所述TCP数据包的大小;
调整单元,基于所述传输速率级别和所述TCP数据包的大小调整TCP窗口的大小。
本实施例3中优选地,还包括发送单元,发送ACK数据包给服务器,所述ACK数据包包括调整后的TCP窗口大小。
本实施例3中优选地,若实际传输速率高于所述调整后的TCP窗口大小超过预设时长,所述发送单元还用于,在所述包括调整后的TCP窗口大小的ACK数据包中间插入零窗口zero window的ACK数据包。
本实施例3中优选地,所述接收单元还用于:根据所述调整后的TCP窗口大小接收服务器发送的TCP数据包。
本实施例3中优选地,调整单元具体用于:基于所述传输速率级别和所述TCP数据包的大小逐级递增或递减TCP窗口的大小。
本实施例3中优选地,第一确定单元具体用于,根据应用程序类别、状态和/或使用频率确定传输速率级别。
本实施例3中优选地,获取模块还用于,获取套接字socket和UID;所述数据传输控制装置还包括,第二确定单元,根据所述套接字socket和UID确定与所述与所述TCP窗口对应的应用程序。
示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述计算机装置中的执行过程。
本发明实施方式3,第一确定单元,确定应用程序对应的传输速率级别,所述应用程序为待调整数据传输的应用程序;接收单元,接收服务器发送的TCP数据包;获取单元,获取所述TCP数据包的大小;调整单元,基于所述传输速率级别和所述TCP数据包的大小调整TCP窗口的大小。通过确定应用程序类别,以及其对传输速率要求的不同,实现了不同应用程序数据传输速率的独立调整,在保证对传输速率有更高要求应用较大带宽的基础上,不依赖终端整体带宽提高的苛刻要求,提高了用户体验的同时,扩大了使用的便利性和稳定性。
图4是本发明一实施方式提供的终端的示意图。如图4所示,终端1至少包括:处理器20、存储器30、存储在所述存储器30中并可在所述处理器20上运行的计算机程序40(例如数据处理方法的控制程序)。
其中,所述终端1可以是智能手机、平板电脑、个人数字助理等具有拍摄功能的计算机设备。本领域技术人员可以理解,所述示意图4仅仅是终端1的示例,并不构成对终端1的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端1还可以包括输入输出设备、网络接入设备、总线等。
所述处理器20执行所述计算机程序40时实现上述摄像头的控制方法实施方式中的步骤,例如图1所示的数据传输控制方法、图2所示的数据传输控制方法。所述处理器20执行所述计算机程序40时实现上述各装置实施方式中各模块/单元,例如附图4中各个单元的功能。
示例性的,所述计算机程序40可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器30中,并由所述处理器20执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,所述指令段用于描述所述计算机程序40在所述终端1中的执行过程。例如,所述计算机程序40可以被分割成图3中的第一确定单元、接收单元、获取单元、调整单元,各单元的具体功能请参见前面的具体介绍,为节省篇幅及避免重复起见,在此就不再赘述。
所称处理器20可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者所述处理器20也可以是任何常规的处理器等,所述处理器20是所述数据传输控制装置/所述终端1的控制中心,利用各种接口和线路连接整个数据传输控制装置10/终端1的各个部分。
所述存储器30用于存储所述计算机程序40和/或模块/单元,所述处理器20通过运行或执行存储在所述存储器30内的计算机程序和/或模块/单元,以及调用存储在所述存储器30内的数据,实现所述数据传输控制装置/终端1的各种功能。所述存储器30可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端1的使用所创建的数据等。此外,所述存储器30可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述实施方式中所述的数据传输控制方法的步骤。
所述数据处理装置/终端1/计算机装置集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施方式方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,所述计算机程序在被处理器执行时,可实现上述各个方法实施方式的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读存储介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
在本发明所提供的几个具体实施方式中,应该理解到,所揭露的终端和方法,可以通过其它的方式实现。例如,以上所描述的终端实施方式仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
另外,在本发明各个实施例中的各功能模块可以集成在相同处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在相同模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明实施例不限于上述示范性实施例的细节,而且在不背离本发明实施例的精神或基本特征的情况下,能够以其他的具体形式实现本发明实施例。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明实施例的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明实施例内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统、装置或终端权利要求中陈述的多个单元、模块或装置也可以由同一个单元、模块或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施方式仅用以说明本发明实施例的技术方案而非限制,尽管参照以上较佳实施方式对本发明实施例进行了详细说明,本领域的普通技术人员应当理解,可以对本发明实施例的技术方案进行修改或等同替换都不应脱离本发明实施例的技术方案的精神和范围。
Claims (10)
1.一种数据传输控制方法,其特征在于,
确定应用程序对应的传输速率级别,所述应用程序为待调整数据传输的应用程序;
接收服务器发送的TCP数据包;
获取所述TCP数据包的大小;
基于所述传输速率级别和所述TCP数据包的大小调整所述应用程序的TCP窗口大小。
2.如权利要求1所述的数据传输控制方法,其特征在于,所述方法还包括,发送ACK数据包给服务器,所述ACK数据包中包括调整后的TCP窗口大小。
3.如权利要求2所述的数据传输控制方法,其特征在于,若实际传输速率高于所述调整后的TCP窗口大小超过预设时长,则在所述包括调整后的TCP窗口大小的ACK数据包中间插入零窗口zero window。
4.如权利要求1所述的数据传输控制方法,其特征在于,所述方法还包括:根据调整后的TCP窗口大小接收服务器发送的TCP数据包。
5.如权利要求1所述的数据传输控制方法,其特征在于,所述基于所述传输速率级别和所述TCP数据包的大小调整所述应用程序的TCP窗口大小,具体包括:基于所述传输速率级别和所述TCP数据包的大小逐级递增或递减所述应用程序的TCP窗口大小。
6.如权利要求1至4任一项所述的数据传输控制方法,其特征在于,所述确定应用程序对应的传输速率级别,具体包括根据应用程序类别、状态和/或使用频率确定传输速率级别。
7.如权利要求1所述的数据传输控制方法,其特征在于,所述接收服务器发送的TCP数据包后,所述方法还包括:
获取套接字socket和UID,
根据所述套接字socket和UID确定与所述TCP窗口对应的应用程序。
8.一种数据传输控制装置,其特征在于,包括:
第一确定单元,确定应用程序对应的传输速率级别,所述应用程序为待调整数据传输的应用程序;
接收单元,接收服务器发送的TCP数据包;
获取单元,获取所述TCP数据包的大小;
调整单元,基于所述传输速率级别和所述TCP数据包的大小调整TCP窗口的大小。
9.一种终端,其特征在于,所述终端包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1-7中任意一项所述的数据传输控制方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7中任意一项所述数据传输控制方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810231994.6A CN108540400A (zh) | 2018-03-20 | 2018-03-20 | 一种数据传输控制方法、控制装置、终端及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810231994.6A CN108540400A (zh) | 2018-03-20 | 2018-03-20 | 一种数据传输控制方法、控制装置、终端及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108540400A true CN108540400A (zh) | 2018-09-14 |
Family
ID=63484388
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810231994.6A Withdrawn CN108540400A (zh) | 2018-03-20 | 2018-03-20 | 一种数据传输控制方法、控制装置、终端及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108540400A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110708747A (zh) * | 2019-09-18 | 2020-01-17 | Tcl移动通信科技(宁波)有限公司 | 数据传输速率调整方法、系统、存储介质及移动终端 |
CN111817925A (zh) * | 2020-09-02 | 2020-10-23 | 广东省新一代通信与网络创新研究院 | 一种用于高传输速率的测试方法及系统 |
CN112332947A (zh) * | 2020-07-30 | 2021-02-05 | 深圳Tcl新技术有限公司 | 数据传输方法、移动终端及计算机存储介质 |
CN113099509A (zh) * | 2021-03-04 | 2021-07-09 | Oppo广东移动通信有限公司 | 服务选择方法、装置、终端及存储介质 |
CN113300974A (zh) * | 2020-07-10 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 一种拥塞控制方法、设备及计算机可读介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101162971A (zh) * | 2007-10-30 | 2008-04-16 | 华为技术有限公司 | 数据传输的方法、设备及系统 |
US20100054123A1 (en) * | 2008-08-30 | 2010-03-04 | Liu Yong | Method and device for hign utilization and efficient flow control over networks with long transmission latency |
CN103227794A (zh) * | 2013-04-28 | 2013-07-31 | 华为技术有限公司 | 数据传输控制方法、装置以及系统 |
CN103929370A (zh) * | 2013-01-11 | 2014-07-16 | 中国科学院声学研究所 | 一种用于带宽预留网络的tcp拥塞控制方法 |
-
2018
- 2018-03-20 CN CN201810231994.6A patent/CN108540400A/zh not_active Withdrawn
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101162971A (zh) * | 2007-10-30 | 2008-04-16 | 华为技术有限公司 | 数据传输的方法、设备及系统 |
US20100054123A1 (en) * | 2008-08-30 | 2010-03-04 | Liu Yong | Method and device for hign utilization and efficient flow control over networks with long transmission latency |
CN103929370A (zh) * | 2013-01-11 | 2014-07-16 | 中国科学院声学研究所 | 一种用于带宽预留网络的tcp拥塞控制方法 |
CN103227794A (zh) * | 2013-04-28 | 2013-07-31 | 华为技术有限公司 | 数据传输控制方法、装置以及系统 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110708747A (zh) * | 2019-09-18 | 2020-01-17 | Tcl移动通信科技(宁波)有限公司 | 数据传输速率调整方法、系统、存储介质及移动终端 |
CN113300974A (zh) * | 2020-07-10 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 一种拥塞控制方法、设备及计算机可读介质 |
CN113300974B (zh) * | 2020-07-10 | 2024-04-26 | 阿里巴巴集团控股有限公司 | 一种拥塞控制方法、设备及计算机可读介质 |
CN112332947A (zh) * | 2020-07-30 | 2021-02-05 | 深圳Tcl新技术有限公司 | 数据传输方法、移动终端及计算机存储介质 |
CN112332947B (zh) * | 2020-07-30 | 2024-04-02 | 深圳Tcl新技术有限公司 | 数据传输方法、移动终端及计算机存储介质 |
CN111817925A (zh) * | 2020-09-02 | 2020-10-23 | 广东省新一代通信与网络创新研究院 | 一种用于高传输速率的测试方法及系统 |
CN111817925B (zh) * | 2020-09-02 | 2020-12-04 | 广东省新一代通信与网络创新研究院 | 一种用于高传输速率的测试方法及系统 |
CN113099509A (zh) * | 2021-03-04 | 2021-07-09 | Oppo广东移动通信有限公司 | 服务选择方法、装置、终端及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108540400A (zh) | 一种数据传输控制方法、控制装置、终端及可读存储介质 | |
CN110602156A (zh) | 一种负载均衡调度方法及装置 | |
US10986204B2 (en) | Terminal device, edge server, data delivery system, and delivery control method | |
CN106790679B (zh) | 一种下载应用资源包的方法及服务器、终端 | |
CN109392013B (zh) | 一种服务质量QoS的调整方法及通信装置 | |
CN107222560A (zh) | 一种多节点回源的方法、装置及存储介质 | |
CN107920108A (zh) | 一种媒体资源的推送方法、客户端及服务器 | |
JP6695980B2 (ja) | ネットワーク利用率を向上させるためのネットワーク支援プロトコルの使用 | |
EP2503762A1 (en) | Method, apparatus and system for cache collaboration | |
CN113395671B (zh) | 消息推送速率的调节方法、装置和服务器 | |
US20240106890A1 (en) | Peer-to-peer network scheduling method and system | |
CN105656794A (zh) | 数据分发方法及装置 | |
CN105391712B (zh) | 一种基于tcp协议的数据快速传输方法和装置 | |
CN113472674B (zh) | 一种流量控制方法、装置、存储介质及电子设备 | |
CN108347579B (zh) | 带宽控制方法和装置 | |
CN112291180A (zh) | 一种消息负载均衡的方法 | |
CN114745338A (zh) | 流量控制方法、装置、存储介质以及服务器 | |
CN114096008A (zh) | 一种部分带宽调整方法、装置、电子设备及存储介质 | |
CN108521382A (zh) | 一种消息发送方法、装置及系统 | |
CN108536854A (zh) | 数据交互的方法、装置及计算机可读存储介质 | |
CN113315718A (zh) | 自适应限流的系统、方法和装置 | |
CN111309484A (zh) | 一种提升终端性能的管理方法、装置及计算机可读存储介质 | |
CN115225207B (zh) | 数据传输方法及相关装置 | |
CN115834573B (zh) | 一种云服务器调度方法及系统 | |
CN114500663B (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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20180914 |
|
WW01 | Invention patent application withdrawn after publication |