CN110855575A - Tcp报文的调度方法、装置及通信设备 - Google Patents

Tcp报文的调度方法、装置及通信设备 Download PDF

Info

Publication number
CN110855575A
CN110855575A CN201910943022.4A CN201910943022A CN110855575A CN 110855575 A CN110855575 A CN 110855575A CN 201910943022 A CN201910943022 A CN 201910943022A CN 110855575 A CN110855575 A CN 110855575A
Authority
CN
China
Prior art keywords
message
time
thread
type
transmission
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
CN201910943022.4A
Other languages
English (en)
Other versions
CN110855575B (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.)
Honor Device 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 CN201910943022.4A priority Critical patent/CN110855575B/zh
Publication of CN110855575A publication Critical patent/CN110855575A/zh
Application granted granted Critical
Publication of CN110855575B publication Critical patent/CN110855575B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/25Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions

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报文的调度方法、装置及通信设备,该方法包括:多次统计一段时长内操作系统中GPU渲染指令数和每个线程传输的TCP报文数;根据多次统计结果,确定GPU渲染指令数和每个线程的TCP报文数的相关关系;根据相关关系,将每个线程分类为前台关键线程或非前台关键线程;配置第一类报文的传输速度高于第二类报文的传输速度,其中,第一类报文为前台关键线程传输的报文,第二类报文为非前台关键线程传输的报文。本申请通过操作系统中GPU渲染指令数和每个线程传输的TCP报文数的相关程度,找出前台关键线程,进而对前台关键线程发送的报文配置较高的传输速度,解决了相关技术中后台TCP流量占用带宽较多导致前台TCP报文传输时间较长的技术问题。

Description

TCP报文的调度方法、装置及通信设备
技术领域
本申请涉及通信技术领域,特别涉及TCP报文的调度方法、装置及通信设备。
背景技术
传输控制协议(Transmission Control Protocol,简称TCP)是一种面向连接的、可靠的、基于字节流的传输层通信协议。TCP是一种流协议(stream protocol)。这就意味着数据是以字节流的形式传递给接收者的,没有固有的"报文"或"报文边界"的概念。从这方面来说,读取TCP数据就像从串行端口读取数据一样,无法预先得知在一次指定的读调用中会返回多少字节(也就是说能知道全部总共要读多少,但是不知道具体某一次读多少)。为了避免网络拥塞,相关技术提供了几种TCP拥塞算法,如CUBIC算法和LEDBAT算法等。Cubic拥塞窗口增长曲线与反正切函数的曲线相似,凸曲线部分为稳定增长阶段,凹曲线部分为最大带宽探测阶段。在刚开始时,拥塞窗口增长很快,在接近最大窗口时,增长速度变得平缓,避免流量突增而导致丢包。在最大窗口附近,拥塞窗口不再增加。之后开始缓慢地探测网络最大吞吐量,保证稳定性(在最大窗口附近容易出现拥塞),在远离最大窗口后,增大窗口增长的速度,保证了带宽的利用率。LEDBAT算法使用所有可用带宽,在没有其他流量时维持低排队时延,限制因其他流量增加的排队时延,是应快速让位给其他共享同一有限链路的标准TCP。其中,基于Linux系统的Android系统默认采用CUBIC算法,所有的TCP流均采用相同的算法各自评估本端的时延和丢包情况,从而控制本端的发送速度,并且尽可能的保证各条流之间的公平性。发明人发现,相关技术中的TCP拥塞算法不能区别性的对用户关心的前台流量进行优先传输,在后台流量较高的情况下,存在大量TCP丢包重传的现象,导致前台TCP传输时间较久。
发明内容
本申请提供了一种TCP报文的调度方法、装置及通信设备,以解决相关技术中计算TCP报文传输速度的算法在后台流量较高的情况下,前台TCP传输时间较久的技术问题。
第一方面,本申请提供了一种TCP报文的调度方法,该方法包括:多次统计一段时长内操作系统中GPU渲染指令数和每个线程传输的TCP报文数;根据多次统计结果,确定GPU渲染指令数和每个线程的TCP报文数的相关关系;根据相关关系,将每个线程分类为前台关键线程或非前台关键线程;配置第一类报文的传输速度高于第二类报文的传输速度,其中,第一类报文为前台关键线程传输的报文,第二类报文为非前台关键线程传输的报文。通过本实施例提供的方案,通过操作系统中GPU渲染指令数和每个线程传输的TCP报文数的相关程度,找出前台关键线程,进而对前台关键线程发送的报文配置较高的传输速度,解决了相关技术中后台TCP流量占用带宽较多导致前台TCP报文传输时间较长的技术问题。
在一种可能的设计中,多次统计一段时长内操作系统中GPU渲染指令数和每个线程传输的TCP报文数,包括:统计在一段时长内操作系统中新增的GPU渲染指令数;统计每个线程在一段时长内发起的TCP报文数。通过本实施例提供的方案,仅统计新增的指令和新增的TCP报文,可以减少不同次统计的结果的相互影响。
在一种可能的设计中,根据多次统计结果,确定GPU渲染指令数和每个线程的TCP报文数的相关关系,包括:针对每个线程,将操作系统的GPU渲染指令数和多次统计结果中对应线程的TCP报文数利用相关程度计算公式计算,得到GPU渲染指令数和每个线程的TCP报文数的相关关系,其中,相关程度计算公式为:
Figure BDA0002223435580000031
其中,r为对应线程的相关程度,Xi为针对对应线程第i次统计得到的TCP报文数,
Figure BDA0002223435580000032
为对应线程统计n次的TCP报文数平均值,Yi为操作系统第i次统计得到的GPU渲染指令数,
Figure BDA0002223435580000033
为操作系统统计n次得到的GPU渲染指令数平均值。通过本实施例提供的方案,可以利用多次统计结果计算出GPU指令和TCP报文数的相关程度值,利用相关程度值的大小可以选出用户最关心的前台关键线程。
在一种可能的设计中,配置第一类报文的传输速度高于第二类报文的传输速度,包括:根据最后一次监测到第一类报文的传输时刻更新第一时刻,其中,第一时刻为第一类报文最后一次传输的时刻;在第一时刻之后的第一时长之内,减小第二类报文的传输速度。通过本实施例提供的方案,记录最后一次前台关键线程传输报文的时刻为第一时刻,对后序发送的非前台关键线程传输的报文距离第一时刻的时长,判断是否需要减小其传输速度,如果距离时间较短,在第一时长之内,为了防止非前台关键线程的报文占用较多带宽,减小其传输速度,以提高前台关键线程报文的传输速度,减少丢包率。
在一种可能的设计中,在第一时刻之后的第一时长之内,减小第二类报文的传输速度,包括:获取第二类报文的传输时刻,得到第二时刻;确定第二时刻和第一时刻的差值,得到第二时长;确定第二时长小于第一时长;根据第二时长,设置第二类报文的传输窗口,其中,第二时长越小,传输窗口越小。通过本实施例提供的方案,根据后序发送的非前台关键线程的报文传输时刻距离最后一次的前台关键线程的报文传输时刻的时长,调整非前台关键线程的报文的传输窗口,距离最后一次的前台关键线程的报文传输时刻越近的非前台关键线程的报文,设置其传输窗口越小,减少对带宽的占用。
在一种可能的设计中,获取第二类报文的传输时刻,得到第二时刻,包括:获取第二类报文的发送时刻,得到第二时刻;根据第二时长,确定第二类报文的传输窗口,包括:获取基于TCP协议计算的针对第二类报文的默认发送窗口;将默认发送窗口乘以第二时长和第一时长的比值,得到本端发送窗口。通过本实施例提供的方案,通过第二时长和第一时长的比值削减系统计算出的默认发送窗口的宽度,由于默认发送窗口是基于对端接收窗口计算的,因此,利用比值减少默认发送窗口的宽度,可以保证本端发送窗口不会超出对端接收窗口的能力。
在一种可能的设计中,获取第二类报文的传输时刻,得到第二时刻,包括:获取第二类报文的接收时刻,得到第二时刻;根据第二时长,设置第二类报文的传输窗口,包括:获取第二时刻发送的第二类报文的对端与本端的带宽时延积;将带宽时延积乘以第二时长和第一时长的比值,确定接收窗口;将接收窗口发送至对端。通过本实施例提供的方案,利用第二时长和第一时长的比值减小带宽时延积,得到接收窗口,可以保证带宽的能力能够满足接收窗口的宽度,防止接收窗口过大,超出带宽承载能力。
在一种可能的设计中,在根据最后一次监测到第一类报文的传输时刻更新第一时刻之前,该方法还包括:监测报文的传输;判断监测到的传输报文是否为前台关键线程发起的;其中,如果判断结果为是,将第一时刻更新为监测到的传输报文的传输时刻;如果判断结果为否,确定监测到的传输报文为第二类报文。通过本实施例提供的方案,能够对报文进行实时的监测和分类。
第二方面,本申请提供一种TCP报文的调度装置,用于实现上述第一方面的TCP报文的调度方法,该装置包括:统计模块,用于多次统计一段时长内操作系统中GPU渲染指令数和每个线程传输的TCP报文数;确定模块,用于根据多次统计结果,确定GPU渲染指令数和每个线程的TCP报文数的相关关系;分类模块,用于根据相关关系,将每个线程分类为前台关键线程或非前台关键线程;配置模块,用于配置第一类报文的传输速度高于第二类报文的传输速度,其中,第一类报文为前台关键线程传输的报文,第二类报文为非前台关键线程传输的报文。通过本实施例提供的方案,通过操作系统中GPU渲染指令数和每个线程传输的TCP报文数的相关程度,找出前台关键线程,进而对前台关键线程发送的报文配置较高的传输速度,解决了相关技术中后台TCP流量占用带宽较多导致前台TCP报文传输时间较长的技术问题。
在一种可能的设计中,统计模块包括:第一统计单元,用于统计在一段时长内操作系统中新增的GPU渲染指令数;第二统计单元,用于统计每个线程在一段时长内发起的TCP报文数。通过本实施例提供的方案,仅统计新增的指令和新增的TCP报文,可以减少不同次统计的结果的相互影响。
在一种可能的设计中,确定模块包括:计算单元,用于对每个线程,将操作系统的GPU渲染指令数和多次统计结果中对应线程的TCP报文数利用相关程度计算公式计算,得到GPU渲染指令数和每个线程的TCP报文数的相关关系,其中,相关程度计算公式为:
Figure BDA0002223435580000051
其中,r为对应线程的相关程度,Xi为针对对应线程第i次统计得到的TCP报文数,
Figure BDA0002223435580000052
为对应线程统计n次的TCP报文数平均值,Yi为操作系统第i次统计得到的GPU渲染指令数,
Figure BDA0002223435580000053
为操作系统统计n次得到的GPU渲染指令数平均值。通过本实施例提供的方案,可以利用多次统计结果计算出GPU指令和TCP报文数的相关程度值,利用相关程度值的大小可以选出用户最关心的前台关键线程。
在一种可能的设计中,配置模块包括:更新单元,用于根据最后一次监测到第一类报文的传输时刻更新第一时刻,其中,第一时刻为第一类报文最后一次传输的时刻;设置单元,用于在第一时刻之后的第一时长之内,减小第二类报文的传输速度。通过本实施例提供的方案,记录最后一次前台关键线程传输报文的时刻为第一时刻,对后序发送的非前台关键线程传输的报文距离第一时刻的时长,判断是否需要减小其传输速度,如果距离时间较短,在第一时长之内,为了防止非前台关键线程的报文占用较多带宽,减小其传输速度,以提高前台关键线程报文的传输速度,减少丢包率。
在一种可能的设计中,设置单元包括:第一获取子单元,用于获取第二类报文的传输时刻,得到第二时刻;第一确定子单元,用于确定第二时刻和第一时刻的差值,得到第二时长;第二确定子单元,用于确定第二时长小于第一时长;设置子单元,用于根据第二时长,设置第二类报文的传输窗口,其中,第二时长越小,传输窗口越小。通过本实施例提供的方案,根据后序发送的非前台关键线程的报文传输时刻距离最后一次的前台关键线程的报文传输时刻的时长,调整非前台关键线程的报文的传输窗口,距离最后一次的前台关键线程的报文传输时刻越近的非前台关键线程的报文,设置其传输窗口越小,减少对带宽的占用。
在一种可能的设计中,第一获取子单元包括:第二获取子单元,用于获取第二类报文的接收时刻,得到第二时刻;设置子单元包括:第三获取子单元,用于获取基于TCP协议计算的针对第二时刻接收的第二类报文的默认发送窗口;第一计算子单元,用于将默认发送窗口乘以第二时长和第一时长的比值,得到本端发送窗口。通过本实施例提供的方案,通过第二时长和第一时长的比值削减系统计算出的默认发送窗口的宽度,由于默认发送窗口是基于对端接收窗口计算的,因此,利用比值减少默认发送窗口的宽度,可以保证本端发送窗口不会超出对端接收窗口的能力。
在一种可能的设计中,第一获取子单元包括:第三获取子单元,用于获取第二类报文的发送时刻,得到第二时刻;设置子单元包括:第四获取子单元,用于获取第二时刻发送的第二类报文的对端与本端的带宽时延积;第二计算子单元,用于将带宽时延积乘以第二时长和第一时长的比值,确定接收窗口;发送子单元,用于将接收窗口发送至对端。通过本实施例提供的方案,利用第二时长和第一时长的比值减小带宽时延积,得到接收窗口,可以保证带宽的能力能够满足接收窗口的宽度,防止接收窗口过大,超出带宽承载能力。
在一种可能的设计中,该装置还包括:监测子单元,用于在根据最后一次监测到第一类报文的传输时刻更新第一时刻之前,监测报文的传输;判断子单元,用于判断监测到的传输报文是否为前台关键线程发起的,其中,如果判断结果为是,将第一时刻更新为监测到的传输报文的传输时刻;如果判断结果为否,确定监测到的传输报文为第二类报文。通过本实施例提供的方案,能够对报文进行实时的监测和分类。
第三方面,本申请提供一种通信装置,包括:接口和处理器,接口和处理器耦合;所述处理器用于执行如第一方面所述的方法。
第四方面,本申请提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行如第一方面所述的方法。
附图说明
图1为本申请实施例提供的一种应用场景示意图;
图2为本申请提供的一种可选的TCP报文的调度方法的流程示意图;
图3为利用本申请提供的一种可选的TCP报文的调度方法对报文数和GPU渲染指令数的统计结果示意图;
图4为本申请提供的一种可选的TCP报文的调度方法计算本端发送窗口的流程示意图;
图5为本申请提供的一种可选的TCP报文的调度方法计算本端接收窗口的流程示意图;
图6为本申请提供的一种可选的TCP报文的调度装置的示意图;
图7为本申请提供的一种可选的通信设备的示意图。
具体实施方式
本申请的实施方式部分使用的术语仅用于对本申请的具体实施例进行解释,而非旨在限定本申请。
本申请实施例可应用于各种类型的通信系统。图1为本申请实施例提供的一种应用场景示意图。如图1所示的通信系统,主要包括网络设备21和终端设备22。
其中,1)网络设备21可以是网络侧设备,例如,无线保真(Wireless-Fidelity,WIFI)的接入点AP、下一代通信的基站,如5G的gNB或小站、微站,TRP,还可以是中继站、接入点、车载设备、可穿戴设备等。在本实施例中,不同通信制式的通信系统中的基站不同。为了区别起见,将4G通信系统的基站称为LTE eNB,5G通信系统的基站称为NR gNB,既支持4G通信系统又支持5G通信系统的基站称为eLTE eNB,这些名称仅为了方便区别,并不具有限制意义。网络设备21中包括处理器211和收发器212,处理器211用于基于TCP协议生成TCP报文,收发器212用于接收和发送TCP报文。
2)终端设备22又称之为用户设备(User Equipment,UE),是一种向用户提供语音和/或数据连通性的设备,例如,具有无线连接功能的手持式设备、车载设备等。可选的,终端设备22可以采用通信设备。常见的终端例如包括:手机、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(mobile internet device,MID)、可穿戴设备,例如智能手表、智能手环、计步器等。终端设备22中包括处理器221和收发器222,处理器221用于基于TCP协议生成TCP报文,收发器222用于接收和发送TCP报文。
3)“多个”是指两个或两个以上,其它量词与之类似。“和/或”,描述关联对象的对应关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
需要说明的是,图1所示的通信系统中所包含的终端设备22的类型仅仅是一种举例,本申请实施例并不限制于此。为简明描述,不在附图中一一描述。此外,在如图1所示的通信系统中,尽管示出了网络设备21和终端设备22,但是该通信系统可以并不限于包括网络设备21和终端设备22,例如还可以包括核心网节点或用于承载虚拟化网络功能的设备等,这些对于本领域技术人员而言是显而易见的,在此不一一赘述。
本实施例的方法基于TCP报文的内容是否引起了前台界面的变化,来建立TCP报文和界面变化之间的相关关系。具体的,根据所有进程的线程发起的TCP报文数和GPU渲染指令数多少,建立起线程和界面变化之间的相关关系。针对和界面变化正相关的线程,将其发起的TCP报文标识为前台关键报文。在对报文是否为前台关键报文进行分类的基础上,根据非前台关键报文发送距离最近一次前台关键报文的相距时长,限制非前台关键报文的收发速度。其中,距离前一次前台关键报文传输时间越近,限制越严格,从而为前台关键报文传输让出通路。通过本申请实施例提供的TCP报文的调度方法,使得能够对前台应用的不同线程进行精确的划分,使得即使在前台应用(如浏览器)存在后台下载线程任务时,对前台应用的后台下载线程的报文传输速度进行限制,以保证前台关键线程(如流量图片或新闻)的稳定和速度。在本申请方案下,由于前台浏览新闻或图片时,会限制后台下载任务的速度,新闻或图片下载速度得到明显提升。
图2为本申请提供的一种TCP报文的调度方法。如图2所示,该方法包括如下步骤:
步骤101,多次统计一段时长内操作系统中GPU渲染指令数和每个线程传输的TCP报文数。
操作系统可以是Android系统等能够安装应用软件的操作系统。GPU(GraphicProcessing Unit,图形处理器)的渲染流水线的主要任务是完成3D模型到图像的渲染(render)工作。GPU输出的图像则是从观察点对3D场景观测到的二维图像。在GPU渲染流水线的不同阶段,需要处理的对象分别是顶点(vertex)、几何图元(primitive)、片元(fragment)、像素(pixel)。在前台界面发生了变化时,通常会在操作系统中新增更多的GPU渲染指令,如果是后台进程或线程,则产生更少甚至不产生GPU渲染指令。因此,GPU渲染指令的多少与前台线程呈正比关系。在统计时,可以以预设间隔为周期进行采样,每次采集指定时长内的GPU渲染指令数,和每个线程传输(包括发送和接收)的TCP报文数。一种可选的应用场景中,针对线程1、2和GPU渲染指令数统计的结果示意图如图3所示,横坐标的每个数据点为一个采样时段,纵坐标为数量。
对于同一个进程,如xx浏览器APP启动的进程,可能会存在多个线程,不同线程用于处理不同的任务或针对不同的数据进行处理,例如,Android手机中的浏览器进程启动的下载线程和网页浏览线程是用于处理不同任务的,每个线程都需要通过多次收发TCP报文与对端收发数据,下载线程可以用于执行后台的数据下载任务,网页浏览线程可以获取网页数据并在手机的界面上展示网页数据,则网页浏览线程产生的GPU渲染指令一定会多于下载线程,那么网页浏览线程发起的TCP报文数量与GPU渲染指令的相关性会高于下载线程发起的TCP报文数量与GPU渲染指令的相关性。以上所述即为本申请实施例判别前台关键线程的原理。
可选的,统计GPU渲染指令数或TCP报文数的具体数值可以是在统计时长新增的数量、或者统计时长内系统处理的数量、或者统计时长内存在的数量。在一种可能的设计中,多次统计一段时长内操作系统中GPU渲染指令数和每个线程传输的TCP报文数,包括:统计在一段时长内操作系统中新增的GPU渲染指令数;统计每个线程在一段时长内发起的TCP报文数。通过本实施例提供的方案,仅统计新增的指令和新增的TCP报文,可以减少不同次统计的结果的相互影响。
步骤102,根据多次统计结果,确定GPU渲染指令数和每个线程的TCP报文数的相关关系。
统计一次的结果随机性较大,因此,需要进行多次统计,以更准确的揭示出线程的报文数与GPU渲染指令数之间的关系。如图3所示的统计结果,说明线程1的报文数与GPU渲染指令数之间的相关性高于线程2的报文数与GPU渲染指令数之间的相关性。
在一种可能的设计中,根据多次统计结果,确定GPU渲染指令数和每个线程的TCP报文数的相关关系,包括:针对每个线程,将操作系统的GPU渲染指令数和多次统计结果中对应线程的TCP报文数利用相关程度计算公式计算,得到GPU渲染指令数和每个线程的TCP报文数的相关关系,其中,相关程度计算公式为:
Figure BDA0002223435580000111
其中,r为对应线程的相关程度(相关系数),Xi为针对对应线程第i次统计得到的TCP报文数,
Figure BDA0002223435580000112
为对应线程统计n次的TCP报文数平均值,Yi为操作系统第i次统计得到的GPU渲染指令数,
Figure BDA0002223435580000113
为操作系统统计n次得到的GPU渲染指令数平均值。在统计学中,相关系数r用于度量两个变量X和Y之间的相关(线性相关),其值介于-1与1之间。在自然科学领域中,该系数广泛用于度量两个变量之间的相关程度。通过本实施例提供的方案,可以利用多次统计结果计算出GPU指令和TCP报文数的相关程度值,利用相关程度值的大小可以选出用户最关心的前台关键线程。
如图3所示的统计结果,通过计算相关程度计算公式计算得到线程1的报文数与GPU渲染指令数之间的相关程度系统为0.76,线程2为0.23,线程1的相关系数高于线程2,从图3中所示的曲线也可以得出上述趋势。
步骤103,根据相关关系,将每个线程分类为前台关键线程或非前台关键线程;
如果线程发起的TCP报文数量与GPU渲染指令的相关性高于预设阈值或者在所有线程中排序在前预设位数,则将该线程确定为前台关键线程。其中,确定出的前台关键线程可以在系统中进行标记。前台关键线程所发送的报文则认为是比较关键的前台关键报文,需要优先传输,非前台关键线程传输的报文优先级靠后。
步骤104,配置第一类报文的传输速度高于第二类报文的传输速度,其中,第一类报文为前台关键线程传输的报文,第二类报文为非前台关键线程传输的报文。
可以利用钩子函数钩住传输报文的系统函数,拦截TCP报文的传输。传输的报文如果是被标记的线程所发送的报文则确定为第一类报文,否则为第二类报文。配置第一类报文的传输速度高于第二类报文的传输速度,在确定传输速度之后,设置TCP报文中的传输窗口信息。本申请实施例中所述的TCP报文的传输窗口分为发送窗口和接收窗口。在TCP协议中,在向对端发送TCP报文时,需要设置本端(自身)的接收窗口,并将本端的接收窗口通知对端,以控制对端向本端发送TCP报文的发送流量速度;在接收到的对端发送的TCP报文中,携带有对端的接收窗口大小的信息,本端的操作系统会基于TCP协议利用对端的接收窗口大小,计算出与对端接收窗口大小对应的本端的发送窗口,本申请实施例中称为默认发送窗口,是TCP协议计算出的数值,可选的,TCP协议可以利用相关技术的CUBIC算法和LEDBAT算法等计算,对于Android系统,默认采用CUBIC算法。
针对已发送的TCP报文,可以对对端反馈的时长进行统计,以计算带宽时延积BDP,利用带宽时延积确定链路的流量负载能力,进而作为计算本端接收窗口的依据。带宽时延积指的是一个数据链路的能力(每秒比特)与来回通信延迟(单位秒)的乘积。带宽时延积=传播时延*带宽。
在一种可能的设计中,配置第一类报文的传输速度高于第二类报文的传输速度,包括:根据最后一次(或者说最近一次)监测到第一类报文的传输时刻更新第一时刻,其中,第一时刻为第一类报文最后一次传输的时刻;在第一时刻之后的第一时长之内,减小第二类报文的传输速度。
可选的,在更新第一时刻之前,需要对报文分类。一种可选的实施方式包括如下步骤:监测报文的传输;判断监测到的传输报文是否为前台关键线程发起的;其中,如果判断结果为是,将第一时刻更新为监测到的传输报文的传输时刻;如果判断结果为否,确定监测到的传输报文为第二类报文。通过本实施例提供的方案,能够对报文进行实时的监测和分类。
例如,在监测到TCP报文A的传输之后,判断是否前台关键线程发起的,如果是,则为第一类报文,将第一时刻更新为报文A的传输时刻;如果不是,则不更改第一时刻。
通过本实施例提供的方案,记录最后一次前台关键线程传输报文的时刻为第一时刻,对后序发送的非前台关键线程传输的报文距离第一时刻的时长,判断是否需要减小其传输速度,如果距离时间较短,在第一时长之内,为了防止非前台关键线程的报文占用较多带宽,减小其传输速度,以提高前台关键线程报文的传输速度,减少丢包率。
进一步的,传输窗口可以与第二时长成比例。具体而言,在第一时刻之后的第一时长之内,减小第二类报文的传输速度,包括:获取第二类报文的传输时刻,得到第二时刻;确定第二时刻和第一时刻的差值,得到第二时长;确定第二时长小于第一时长;根据第二时长,设置第二类报文的传输窗口,其中,第二时长越小,传输窗口越小。
通过本实施例提供的方案,根据后序发送的非前台关键线程的报文传输时刻距离最后一次的前台关键线程的报文传输时刻的时长,调整非前台关键线程的报文的传输窗口,距离最后一次的前台关键线程的报文传输时刻越近的非前台关键线程的报文,设置其传输窗口越小,减少对带宽的占用。
在一种可能的设计中,计算发送窗口的一种可选的实施方式包括如图4所示的如下步骤:
步骤1,确定待发送TCP报文。其中,在发送TCP报文之前,需要确定本端的发送窗口,本端会根据本端的发送窗口控制速度。这是TCP协议所定义的。
步骤2,判断该报文是否为第一类报文。
步骤3,如果步骤2的判断结果为是,则更新第一时刻。由于第一类报文无需限速,以系统采用TCP协议默认的计算方式计算出的发送窗口(默认发送窗口)作为本端发送窗口即可。
步骤4,如果步骤2的判断结果为否,则获取第二类报文的接收时刻,得到第二时刻,计算第二时刻减去第一时刻的差值,得到第二时长。判断第二时长是否在预设时长N秒之内。如果是,则该报文距离上一次传输的第一类报文的时间较近,需要限速,根据第二时长和默认发送窗口计算本端发送窗口,具体的,可以将默认发送窗口W乘以第二时长T2和第一时长T1的比值(T2/T1*W,在本实施方式中,T1=N秒)作为本端发送窗口。
通过本实施例提供的方案,通过第二时长和第一时长的比值削减系统计算出的默认发送窗口的宽度,由于默认发送窗口是基于对端接收窗口计算的,因此,利用比值减少默认发送窗口的宽度,可以保证本端发送窗口不会超出对端接收窗口的能力。
在一种可能的设计中,计算接收窗口的一种可选的实施方式包括如图5所示的如下步骤:
步骤1,确定接收到TCP报文。其中,在接收TCP报文之后,需要确定本端接收窗口,以将本端接收窗口通知对端(对端),这是TCP协议所定义的。对端可以根据本端接收窗口控制对端自身的发送窗口。
步骤2,在接收TCP报文之后,判断该报文是否为第一类报文。
步骤3,如果步骤2的判断结果为是,则更新第一时刻。由于第一类报文无需限速,以系统采用TCP协议中默认的计算方式计算出的接收窗口(默认接收窗口)作为本端接收窗口即可。
步骤4,如果步骤2的判断结果为否,则获取第二类报文的接收时刻,得到第二时刻,计算第二时刻减去第一时刻的差值,得到第二时长。判断第二时长是否在预设时长N秒之内。如果是,则该报文距离上一次传输的第一类报文的时间较近,需要限速,根据第二时长和BDP计算本端接收窗口,具体的,可以将BDP乘以第二时长T2和第一时长T1的比值(T2/T1*BDP,在本实施方式中,T1=N秒)作为本端接收窗口。
可选的,在报文为第二类报文,且距离第一时刻在N秒之内的情况下,还可以采用如下方式确定本端接收窗口:利用第二时长和第一时长的比值乘以带宽时延积,计算得到第一接收窗口;获取系统采用TCP协议默认的算法计算出的第二接收窗口;在第一接收窗口和第二接收窗口中取最小值作为本端接收窗口。本实施例可以保证带宽的能力能够满足接收窗口的宽度,防止接收窗口过大,超出带宽承载能力。
需要说明的是,以Android操作系统为例,本申请实施例可以通过对TCP传输协议栈进行改造,将识别是否是前台关键报文的算法以及计算传输窗口的算法修改至TCP传输协议栈,从而实现本申请实施例。
通过本实施例提供的方案,通过操作系统中GPU渲染指令数和每个线程传输的TCP报文数的相关程度,找出前台关键线程,进而对前台关键线程发送的报文配置较高的传输速度,解决了相关技术中后台TCP流量占用带宽较多导致前台TCP报文传输时间较长的技术问题。
可以理解的是,上述实施例中的部分或全部步骤或操作仅是示例,本申请实施例还可以执行其它操作或者各种操作的变形。此外,各个步骤可以按照上述实施例呈现的不同的顺序来执行,并且有可能并非要执行上述实施例中的全部操作。
可以理解的是,以上各个实施例中,由终端实现的操作或者步骤,也可以由可用于终端的部件(例如芯片或者电路)实现,由核心网节点实现的操作或者步骤,也可以由可用于核心网节点的部件(例如芯片或者电路)实现,由网络设备(例如第一网络设备、第二网络设备、第三网络设备)实现的的操作或者步骤,也可以由可用于网络设备的部件(例如芯片或者电路)实现。
本申请还提供一种TCP报文的调度装置的实施例,可以用于实现上述第一方面的TCP报文的调度方法。
如图6所示,该装置包括统计模块11,确定模块12,分类模块13和配置模块14。其中,统计模块,用于多次统计一段时长内操作系统中GPU渲染指令数和每个线程传输的TCP报文数;确定模块,用于根据多次统计结果,确定GPU渲染指令数和每个线程的TCP报文数的相关关系;分类模块,用于根据相关关系,将每个线程分类为前台关键线程或非前台关键线程;配置模块,用于配置第一类报文的传输速度高于第二类报文的传输速度,其中,第一类报文为前台关键线程传输的报文,第二类报文为非前台关键线程传输的报文。通过本实施例提供的方案,通过操作系统中GPU渲染指令数和每个线程传输的TCP报文数的相关程度,找出前台关键线程,进而对前台关键线程发送的报文配置较高的传输速度,解决了相关技术中后台TCP流量占用带宽较多导致前台TCP报文传输时间较长的技术问题。
在一种可能的设计中,统计模块包括:第一统计单元,用于统计在一段时长内操作系统中新增的GPU渲染指令数;第二统计单元,用于统计每个线程在一段时长内发起的TCP报文数。通过本实施例提供的方案,仅统计新增的指令和新增的TCP报文,可以减少不同次统计的结果的相互影响。
在一种可能的设计中,确定模块包括:计算单元,用于对每个线程,将操作系统的GPU渲染指令数和多次统计结果中对应线程的TCP报文数利用相关程度计算公式计算,得到GPU渲染指令数和每个线程的TCP报文数的相关关系,其中,相关程度计算公式为:
Figure BDA0002223435580000171
其中,r为对应线程的相关程度,Xi为针对对应线程第i次统计得到的TCP报文数,
Figure BDA0002223435580000172
为对应线程统计n次的TCP报文数平均值,Yi为操作系统第i次统计得到的GPU渲染指令数,
Figure BDA0002223435580000173
为操作系统统计n次得到的GPU渲染指令数平均值。通过本实施例提供的方案,可以利用多次统计结果计算出GPU指令和TCP报文数的相关程度值,利用相关程度值的大小可以选出用户最关心的前台关键线程。
在一种可能的设计中,配置模块包括:更新单元,用于根据最后一次监测到第一类报文的传输时刻更新第一时刻,其中,第一时刻为第一类报文最后一次传输的时刻;设置单元,用于在第一时刻之后的第一时长之内,减小第二类报文的传输速度。通过本实施例提供的方案,记录最后一次前台关键线程传输报文的时刻为第一时刻,对后序发送的非前台关键线程传输的报文距离第一时刻的时长,判断是否需要减小其传输速度,如果距离时间较短,在第一时长之内,为了防止非前台关键线程的报文占用较多带宽,减小其传输速度,以提高前台关键线程报文的传输速度,减少丢包率。
在一种可能的设计中,设置单元包括:第一获取子单元,用于获取第二类报文的传输时刻,得到第二时刻;第一确定子单元,用于确定第二时刻和第一时刻的差值,得到第二时长;第二确定子单元,用于确定第二时长小于第一时长;设置子单元,用于根据第二时长,设置第二类报文的传输窗口,其中,第二时长越小,传输窗口越小。通过本实施例提供的方案,根据后序发送的非前台关键线程的报文传输时刻距离最后一次的前台关键线程的报文传输时刻的时长,调整非前台关键线程的报文的传输窗口,距离最后一次的前台关键线程的报文传输时刻越近的非前台关键线程的报文,设置其传输窗口越小,减少对带宽的占用。
在一种可能的设计中,第一获取子单元包括:第二获取子单元,用于获取第二类报文的发送时刻,得到第二时刻;设置子单元包括:第三获取子单元,用于获取基于TCP协议计算的针对第二类报文的默认发送窗口;第一计算子单元,用于将默认发送窗口乘以第二时长和第一时长的比值,得到本端发送窗口。通过本实施例提供的方案,通过第二时长和第一时长的比值削减系统计算出的默认发送窗口的宽度,由于默认发送窗口是基于对端接收窗口计算的,因此,利用比值减少默认发送窗口的宽度,可以保证本端发送窗口不会超出对端接收窗口的能力。
在一种可能的设计中,第一获取子单元包括:第三获取子单元,用于获取第二类报文的接收时刻,得到第二时刻;设置子单元包括:第四获取子单元,用于获取第二时刻接收的第二类报文的对端与本端的带宽时延积;第二计算子单元,用于将带宽时延积乘以第二时长和第一时长的比值,确定接收窗口;发送子单元,用于将接收窗口发送至对端。通过本实施例提供的方案,利用第二时长和第一时长的比值减小带宽时延积,得到接收窗口,可以保证带宽的能力能够满足接收窗口的宽度,防止接收窗口过大,超出带宽承载能力。
在一种可能的设计中,该装置还包括:监测子单元,用于在根据最后一次监测到第一类报文的传输时刻更新第一时刻之前,监测报文的传输;判断子单元,用于判断监测到的传输报文是否为前台关键线程发起的,其中,如果判断结果为是,将第一时刻更新为监测到的传输报文的传输时刻;如果判断结果为否,确定监测到的传输报文为第二类报文。通过本实施例提供的方案,能够对报文进行实时的监测和分类。
应理解,上述说明中如有未详述的部分,可参见对本申请实施例提供的TCP报文的调度方法中的说明,再此不再赘述。
应理解图6所示TCP报文的调度装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块以软件通过处理元件调用的形式实现,部分模块通过硬件的形式实现。例如,确定模块可以为单独设立的处理元件,也可以集成在通信装置,例如终端的某一个芯片中实现,此外,也可以以程序的形式存储于通信装置的存储器中,由通信装置的某一个处理元件调用并执行以上各个模块的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,ASIC),或,一个或多个微处理器(digital singnal processor,DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,FPGA)等。再如,当以上某个模块通过处理元件调度程序的形式实现时,该处理元件可以是通用处理器,例如中央处理器(Central ProcessingUnit,CPU)或其它可以调用程序的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,SOC)的形式实现。
本申请实施例还提供了一种通信设备,包括:接口和处理器,接口和处理器耦合;所述处理器用于执行本申请实施例提供的方法。图7所示的通信设备可以是终端设备也可以是内置于上述终端设备的电路设备。该设备可以用于执行本申请图2所示实施例提供的方法中的功能/步骤。
如图7所示,通信设备900包括处理器910和收发器920。可选地,该通信设备900还可以包括存储器930。其中,处理器910、收发器920和存储器930之间可以通过内部连接通路互相通信,传递控制和/或数据信号,该存储器930用于存储计算机程序,该处理器910用于从该存储器930中调用并运行该计算机程序。
可选地,通信设备900还可以包括天线940,用于将收发器920输出的无线信号发送出去。
上述处理器910可以和存储器930可以合成一个处理装置,更常见的是彼此独立的部件,处理器910用于执行存储器930中存储的程序代码来实现上述功能。具体实现时,该存储器930也可以集成在处理器910中,或者,独立于处理器910。
除此之外,为了使得通信设备900的功能更加完善,该通信设备900还可以包括输入单元960、显示单元970、音频电路980、摄像头990和传感器901等中的一个或多个,所述音频电路还可以包括扬声器982、麦克风984等。其中,显示单元970可以包括显示屏,摄像头990是图像采集器的一种具体示例,图像采集器可以为具有图像采集功能的设备,本实施例对图像采集器的具体形式不作限定。
可选地,上述通信设备900还可以包括电源950,用于给终端设备中的各种器件或电路提供电源。
应理解,图7所示的通信设备900能够实现图2所示实施例提供的方法的各个过程。通信设备900中的各个模块的操作和/或功能,分别为了实现上述方法实施例中的相应流程。具体可参见图2所示方法实施例中的描述,为避免重复,此处适当省略详细描述。
应理解,图7所示的通信设备900中的处理器910可以是片上系统SOC,该处理器910中可以包括中央处理器(Central Processing Unit;以下简称:CPU),还可以进一步包括其他类型的处理器,例如:图像处理器(Graphics Processing Unit;以下简称:GPU)等。
总之,处理器910内部的各部分处理器或处理单元可以共同配合实现之前的方法流程,且各部分处理器或处理单元相应的软件程序可存储在存储器930中。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行上述实施例所述的通信方法。
此外,本申请实施例还提供一种计算机程序产品,该计算机程序产品包括计算机程序,当其在计算机上运行时,使得计算机执行上述实施例所述的通信方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid StateDisk)等。

Claims (18)

1.一种TCP报文的调度方法,其特征在于,所述方法包括:
多次统计一段时长内操作系统中GPU渲染指令数和每个线程传输的TCP报文数;
根据多次统计结果,确定GPU渲染指令数和每个所述线程的TCP报文数的相关关系;
根据所述相关关系,将每个线程分类为前台关键线程或非前台关键线程;
配置第一类报文的传输速度高于第二类报文的传输速度,其中,所述第一类报文为所述前台关键线程传输的报文,所述第二类报文为所述非前台关键线程传输的报文。
2.如权利要求1所述的方法,其特征在于,所述多次统计一段时长内操作系统中GPU渲染指令数和每个线程传输的TCP报文数,包括:
统计在所述一段时长内所述操作系统中新增的GPU渲染指令数;
统计每个所述线程在所述一段时长内发起的TCP报文数。
3.如权利要求1所述的方法,其特征在于,所述根据多次统计结果,确定GPU渲染指令数和每个所述线程的TCP报文数的相关关系,包括:
针对每个所述线程,将所述操作系统的GPU渲染指令数和所述多次统计结果中对应线程的TCP报文数利用相关程度计算公式计算,得到所述GPU渲染指令数和每个所述线程的TCP报文数的相关关系,其中,所述相关程度计算公式为:
其中,r为所述对应线程的所述相关程度,Xi为针对所述对应线程第i次统计得到的TCP报文数,
Figure FDA0002223435570000012
为所述对应线程统计n次的TCP报文数平均值,Yi为所述操作系统第i次统计得到的GPU渲染指令数,
Figure FDA0002223435570000013
为所述操作系统统计n次得到的GPU渲染指令数平均值。
4.如权利要求1至3任一项所述的方法,其特征在于,所述配置第一类报文的传输速度高于第二类报文的传输速度,包括:
根据最后一次监测到所述第一类报文的传输时刻更新第一时刻,其中,所述第一时刻为所述第一类报文最后一次传输的时刻;
在所述第一时刻之后的第一时长之内,减小所述第二类报文的传输速度。
5.如权利要求4所述的方法,其特征在于,所述在所述第一时刻之后的第一时长之内,减小所述第二类报文的传输速度,包括:
获取所述第二类报文的传输时刻,得到第二时刻;
确定所述第二时刻和所述第一时刻的差值,得到第二时长;
确定所述第二时长小于所述第一时长;
根据所述第二时长,设置所述第二类报文的传输窗口,其中,所述第二时长越小,所述传输窗口越小。
6.如权利要求5所述的方法,其特征在于,
所述获取所述第二类报文的传输时刻,得到第二时刻,包括:获取所述第二类报文的发送时刻,得到所述第二时刻;
所述根据所述第二时长,确定所述第二类报文的传输窗口,包括:获取基于TCP协议计算的针对所述第二类报文的默认发送窗口;将所述默认发送窗口乘以所述第二时长和所述第一时长的比值,得到本端发送窗口。
7.如权利要求5所述的方法,其特征在于,
所述获取所述第二类报文的传输时刻,得到第二时刻,包括:获取所述第二类报文的接收时刻,得到所述第二时刻;
所述根据所述第二时长,设置所述第二类报文的传输窗口,包括:获取所述第二时刻接收的所述第二类报文的对端与本端的带宽时延积;将所述带宽时延积乘以所述第二时长和所述第一时长的比值,确定本端接收窗口;将所述本端接收窗口发送至所述对端。
8.如权利要求4所述的方法,其特征在于,在所述根据最后一次监测到所述第一类报文的传输时刻更新第一时刻之前,所述方法还包括:
监测报文的传输;
判断监测到的传输报文是否为所述前台关键线程发起的;
其中,如果判断结果为是,将所述第一时刻更新为所述监测到的传输报文的传输时刻;如果判断结果为否,确定所述监测到的传输报文为所述第二类报文。
9.一种TCP报文的调度装置,其特征在于,所述TCP报文的调度装置包括:
统计模块,用于多次统计一段时长内操作系统中GPU渲染指令数和每个线程传输的TCP报文数;
确定模块,用于根据多次统计结果,确定GPU渲染指令数和每个所述线程的TCP报文数的相关关系;
分类模块,用于根据所述相关关系,将每个线程分类为前台关键线程或非前台关键线程;
配置模块,用于配置第一类报文的传输速度高于第二类报文的传输速度,其中,所述第一类报文为所述前台关键线程传输的报文,所述第二类报文为所述非前台关键线程传输的报文。
10.如权利要求9所述的装置,其特征在于,所述统计模块包括:
第一统计单元,用于统计在所述一段时长内所述操作系统中新增的GPU渲染指令数;
第二统计单元,用于统计每个所述线程在所述一段时长内发起的TCP报文数。
11.如权利要求9所述的装置,其特征在于,所述确定模块包括:
计算单元,用于对每个所述线程,将所述操作系统的GPU渲染指令数和所述多次统计结果中对应线程的TCP报文数利用相关程度计算公式计算,得到所述GPU渲染指令数和每个所述线程的TCP报文数的相关关系,其中,所述相关程度计算公式为:
Figure FDA0002223435570000041
其中,r为所述对应线程的所述相关程度,Xi为针对所述对应线程第i次统计得到的TCP报文数,
Figure FDA0002223435570000042
为所述对应线程统计n次的TCP报文数平均值,Yi为所述操作系统第i次统计得到的GPU渲染指令数,
Figure FDA0002223435570000043
为所述操作系统统计n次得到的GPU渲染指令数平均值。
12.如权利要求9至11任一项所述的装置,其特征在于,所述配置模块包括:
更新单元,用于根据最后一次监测到所述第一类报文的传输时刻更新第一时刻,其中,所述第一时刻为所述第一类报文最后一次传输的时刻;
设置单元,用于在所述第一时刻之后的第一时长之内,减小所述第二类报文的传输速度。
13.如权利要求12所述的装置,其特征在于,所述设置单元包括:
第一获取子单元,用于获取所述第二类报文的传输时刻,得到第二时刻;
第一确定子单元,用于确定所述第二时刻和所述第一时刻的差值,得到第二时长;
第二确定子单元,用于确定所述第二时长小于所述第一时长;
设置子单元,用于根据所述第二时长,设置所述第二类报文的传输窗口,其中,所述第二时长越小,所述传输窗口越小。
14.如权利要求13所述的装置,其特征在于,
所述第一获取子单元包括:第二获取子单元,用于获取所述第二类报文的发送时刻,得到所述第二时刻;
所述设置子单元包括:第三获取子单元,用于获取基于TCP协议计算的针对所述第二类报文的默认发送窗口;第一计算子单元,用于将所述默认发送窗口乘以所述第二时长和所述第一时长的比值,得到本端发送窗口。
15.如权利要求13所述的装置,其特征在于,
所述第一获取子单元包括:第三获取子单元,用于获取所述第二类报文的接收时刻,得到所述第二时刻;
所述设置子单元包括:第四获取子单元,用于获取所述第二时刻接收的所述第二类报文的对端与本端的带宽时延积;第二计算子单元,用于将所述带宽时延积乘以所述第二时长和所述第一时长的比值,确定本端接收窗口;发送子单元,用于将所述本端接收窗口发送至所述对端。
16.如权利要求12所述的装置,其特征在于,所述装置还包括:
监测子单元,用于在根据最后一次监测到所述第一类报文的传输时刻更新所述第一时刻之前,监测报文的传输;
判断子单元,用于判断监测到的传输报文是否为所述前台关键线程发起的,其中,如果判断结果为是,将所述第一时刻更新为所述监测到的传输报文的传输时刻;如果判断结果为否,确定所述监测到的传输报文为所述第二类报文。
17.一种通信设备,其特征在于,包括:
接口和处理器,所述接口和处理器耦合;
所述处理器用于执行权利要求1-8任一项所述的方法。
18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行如权利要求1-8任一项所述的方法。
CN201910943022.4A 2019-09-30 2019-09-30 Tcp报文的调度方法、装置及通信设备 Active CN110855575B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910943022.4A CN110855575B (zh) 2019-09-30 2019-09-30 Tcp报文的调度方法、装置及通信设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910943022.4A CN110855575B (zh) 2019-09-30 2019-09-30 Tcp报文的调度方法、装置及通信设备

Publications (2)

Publication Number Publication Date
CN110855575A true CN110855575A (zh) 2020-02-28
CN110855575B CN110855575B (zh) 2022-05-06

Family

ID=69596367

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910943022.4A Active CN110855575B (zh) 2019-09-30 2019-09-30 Tcp报文的调度方法、装置及通信设备

Country Status (1)

Country Link
CN (1) CN110855575B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102546832A (zh) * 2012-02-29 2012-07-04 北京快网科技有限公司 基于tcp协议的报文发送方法
CN106936730A (zh) * 2015-12-30 2017-07-07 华为技术有限公司 一种报文发送方法、tcp代理以及tcp客户端
CN107770092A (zh) * 2017-11-06 2018-03-06 珠海市魅族科技有限公司 一种数据传输方法、装置、移动终端和存储介质
CN108712348A (zh) * 2018-05-18 2018-10-26 王逸人 流量控制方法、系统、设备及计算机可读存储介质
US20190034452A1 (en) * 2017-07-28 2019-01-31 Chicago Mercantile Exchange Inc. Concurrent write operations for use with multi-threaded file logging

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102546832A (zh) * 2012-02-29 2012-07-04 北京快网科技有限公司 基于tcp协议的报文发送方法
CN106936730A (zh) * 2015-12-30 2017-07-07 华为技术有限公司 一种报文发送方法、tcp代理以及tcp客户端
US20190034452A1 (en) * 2017-07-28 2019-01-31 Chicago Mercantile Exchange Inc. Concurrent write operations for use with multi-threaded file logging
CN107770092A (zh) * 2017-11-06 2018-03-06 珠海市魅族科技有限公司 一种数据传输方法、装置、移动终端和存储介质
CN108712348A (zh) * 2018-05-18 2018-10-26 王逸人 流量控制方法、系统、设备及计算机可读存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
""26928-100"", 《3GPP TSG_SA\TSG_SA》 *

Also Published As

Publication number Publication date
CN110855575B (zh) 2022-05-06

Similar Documents

Publication Publication Date Title
EP4047934A1 (en) Message sending method and device, readable medium and electronic device
CN107395572B (zh) 一种数据处理方法及物联网网关
US10080158B2 (en) Providing multiple interfaces for traffic
CN111787069A (zh) 业务接入请求的处理方法、装置、设备及计算机存储介质
CN111263402B (zh) 数据传输方法、装置及电子设备
CN108430094B (zh) 减小wifi和lte相互干扰的方法、装置和终端
CN112039796B (zh) 数据包传输方法和装置、存储介质和电子设备
CN111163018B (zh) 网络设备及其降低传输时延的方法
US20230139633A1 (en) Data Packet Sending Method and Apparatus
CN109922539B (zh) 网络连接方法及相关产品
CN111314439A (zh) 一种数据发送方法、装置和电子设备
WO2015081490A1 (zh) 一种核间进程通信的方法、装置及系统
WO2020164521A1 (zh) 数据包分配方法、装置、移动终端及存储介质
CN110248379B (zh) 无线局域网中基站的性能测试方法及装置
CN106713171B (zh) 服务器、基于延时队列的限流保护系统及方法
CN110677623B (zh) 数据处理的方法、装置、设备和存储介质
CN114077568A (zh) 核间通信方法、装置、电子组件以及电子设备
CN114390578A (zh) 一种网络性能的测试方法、装置、电子设备及介质
CN110855575B (zh) Tcp报文的调度方法、装置及通信设备
CN113986969A (zh) 数据处理方法、装置、电子设备和存储介质
US20230344740A1 (en) Sla performance prediction method and related apparatus, and device
CN110719233A (zh) 用于发送信息的方法及装置
CN110572805A (zh) 数据传输方法、装置、电子设备和计算机可读介质
CN112566262B (zh) 数据处理方法及装置、通信设备及存储介质
JP7279119B2 (ja) 重要業績評価指標の階層的計算のためのシステム及び方法

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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20210422

Address after: Unit 3401, unit a, building 6, Shenye Zhongcheng, No. 8089, Hongli West Road, Donghai community, Xiangmihu street, Futian District, Shenzhen, Guangdong 518040

Applicant after: Honor Device Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Applicant before: HUAWEI TECHNOLOGIES Co.,Ltd.

GR01 Patent grant
GR01 Patent grant