CN117014377A - 拥塞控制协商方法、电子设备及存储介质 - Google Patents

拥塞控制协商方法、电子设备及存储介质 Download PDF

Info

Publication number
CN117014377A
CN117014377A CN202210455147.4A CN202210455147A CN117014377A CN 117014377 A CN117014377 A CN 117014377A CN 202210455147 A CN202210455147 A CN 202210455147A CN 117014377 A CN117014377 A CN 117014377A
Authority
CN
China
Prior art keywords
congestion control
control algorithm
server
service
connection request
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.)
Pending
Application number
CN202210455147.4A
Other languages
English (en)
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 CN202210455147.4A priority Critical patent/CN117014377A/zh
Publication of CN117014377A publication Critical patent/CN117014377A/zh
Pending legal-status Critical Current

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
    • 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/164Adaptation or special uses of UDP protocol

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本申请实施例提供一种拥塞控制协商方法、电子设备及存储介质,涉及通信技术领域,该方法包括:向服务器发送业务连接请求,用于与服务器进行拥塞控制算法的协商;其中,业务连接请求包括第一标识,第一标识用于指示拥塞控制算法。本申请实施例提供的方法,能够实现端侧和服务器侧之间的拥塞控制算法的协商,提高拥塞控制的效率。

Description

拥塞控制协商方法、电子设备及存储介质
技术领域
本申请实施例涉及通信技术领域,尤其涉及一种拥塞控制协商方法、电子设备及存储介质。
背景技术
基于快速UDP网络连接(quick UDP internet connections,QUIC)协议是一种基于用户数据报文协议(User Datagram Protocol,UDP)的高效可靠协议。终端设备经常会使用QUIC协议与服务器之间进行报文传输。
为了避免用户终端设备发送的数据报文在服务器侧发生拥塞,服务器会对用户数据报文进行拥塞控制。例如,服务器可以在业务运行前预先配置拥塞控制算法,并可以只用预先配置的拥塞控制算法进行拥塞控制。然而,如果需要改变拥塞控制算法,则需要断开所有的业务,更改服务器中的拥塞控制算法后重启业务,由此会导致所有的业务需要重新建连,影响用户的业务体验。
发明内容
本申请实施例提供了一种拥塞控制协商方法、电子设备及存储介质,能够实现端侧和服务器侧之间的拥塞控制算法的协商,提高拥塞控制的效率。
第一方面,本申请实施例提供了一种拥塞控制协商方法,应用于终端设备,包括:
向服务器发送业务连接请求,用于与服务器进行拥塞控制算法的协商;其中,业务连接请求包括第一标识,第一标识用于指示拥塞控制算法。
本申请实施例中,通过终端设备与服务器业务建连时协商拥塞控制算法,由此能够实现端侧和服务器侧之间的拥塞控制算法的协商,提高拥塞控制的效率。
其中一种可能的实现方式中,业务连接请求中第一标识指示的拥塞控制算法由终端设备根据当前网络环境和/或业务场景确定。
本申请实施例中通过当前网络环境和/或业务场景确定拥塞控制算法,可以使得当前的拥塞控制算法更匹配当前网络环境和/或业务场景,从而可以提高业务的质量。
其中一种可能的实现方式中,第一标识由业务连接请求中的新增字段进行标识,或,
第一标识由业务连接请求中的已有字段的预留位进行标识。
本申请实施例可以减小对协议的修改。
其中一种可能的实现方式中,向服务器发送业务连接请求之后,上述方法还包括:
接收服务器发送的反馈消息,其中,反馈消息中包括拥塞控制算法的协商结果;
若协商结果为协商成功,使用业务连接请求中指示的拥塞控制算法与服务器进行业务交互。
其中一种可能的实现方式中,使用业务连接请求中指示的拥塞控制算法与服务器进行业务交互之后,上述方法还包括:
向服务器发送业务数据报文,其中,业务数据报文用于与服务器协商拥塞控制算法。
本申请实施例中,通过业务数据报文可以在业务进行过程中协商拥塞控制算法,由此可以提高协商的效率,避免发送额外的报文协商拥塞控制算法,从而可以较少信令开销,减少对带宽的占用。
其中一种可能的实现方式中,业务数据报文包括第二标识,第二标识用于指示第一标识指示的拥塞控制算法。
其中一种可能的实现方式中,业务数据报文为0往返时延RTT报文。
其中一种可能的实现方式中,使用业务连接请求中指示的拥塞控制算法与服务器进行业务交互之后,上述方法还包括:
响应于检测到的网络环境变化,确定第二拥塞控制算法,其中,第二拥塞控制算法为终端设备基于变化后的网络环境确定的拥塞控制算法;
与服务器断连后,向服务器发送业务连接请求,用于请求从第一拥塞控制算法切换至第二拥塞控制算法,其中,第一拥塞控制算法为终端设备基于变化前的网络环境确定的拥塞控制算法。
本申请实施例中,在网络环境变化场景中,可以进行拥塞控制算法的切换,由此而可以使得拥塞控制算法更匹配变化后的网络环境,从而可以提高业务的质量。
其中一种可能的实现方式中,网络环境变化为网络的切换;或,
网络环境变化为网络时延和/或丢包率的变化。
其中一种可能的实现方式中,使用业务连接请求中指示的拥塞控制算法与服务器进行业务交互之后,上述方法还包括:
响应于检测到的从第一业务切换到第二业务的业务场景变化,确定第二拥塞控制算法,其中,第二拥塞控制算法为终端设备基于第二业务确定的拥塞控制算法;
与服务器断连后,向服务器发送业务连接请求,用于请求从第一拥塞控制算法切换至第二拥塞控制算法,其中,第一拥塞控制算法为终端设备基于第一业务确定的拥塞控制算法。
本申请实施例中,在业务变化场景中,可以进行拥塞控制算法的切换,由此而可以使得拥塞控制算法更匹配变化后的业务,从而可以提高业务的质量。
第二方面,本申请实施例还提供了一种拥塞控制协商方法,应用于服务器,包括:
接收终端设备发送的业务连接请求,其中,业务连接请求包括第一标识,第一标识用于指示拥塞控制算法;
向终端设备发送反馈消息,其中,反馈消息用于指示对业务连接请求中指示的拥塞控制算法的协商结果。
其中一种可能的实现方式中,上述方法还包括:
接收终端设备发送的业务数据报文,业务数据报文用于与服务器协商拥塞控制算法;
根据业务数据报文确定拥塞控制算法;
使用拥塞控制算法进行拥塞控制。
其中一种可能的实现方式中,业务数据报文包括第二标识,第二标识用于指示第一标识指示的拥塞控制算法。
其中一种可能的实现方式中,上述方法还包括:
与终端设备断连后,接收终端设备发送的业务连接请求;
从第一拥塞控制算法切换至第二拥塞控制算法,其中,第一拥塞控制算法为与终端设备断连前使用的拥塞控制算法,第二拥塞控制算法为与终端设备断连后使用的拥塞控制算法。
第三方面,本申请实施例提供一种拥塞控制协商装置,应用于终端设备,包括:
发送模块,用于向服务器发送业务连接请求,用于与服务器进行拥塞控制算法的协商;其中,业务连接请求包括第一标识,第一标识用于指示拥塞控制算法。
其中一种可能的实现方式中,业务连接请求中第一标识指示的拥塞控制算法由终端设备根据当前网络环境和/或业务场景确定。
其中一种可能的实现方式中,第一标识由业务连接请求中的新增字段进行标识,或,
第一标识由业务连接请求中的已有字段的预留位进行标识。
其中一种可能的实现方式中,上述拥塞控制协商装置还包括:
接收模块,用于接收服务器发送的反馈消息,其中,反馈消息中包括拥塞控制算法的协商结果;
若协商结果为协商成功,使用业务连接请求中指示的拥塞控制算法与服务器进行业务交互。
其中一种可能的实现方式中,上述发送模块还用于向服务器发送业务数据报文,其中,业务数据报文用于与服务器协商拥塞控制算法。
其中一种可能的实现方式中,业务数据报文包括第二标识,第二标识用于指示第一标识指示的拥塞控制算法。
其中一种可能的实现方式中,业务数据报文为0往返时延RTT报文。
其中一种可能的实现方式中,上述拥塞控制协商装置还包括:
切换模块,用于响应于检测到的网络环境变化,确定第二拥塞控制算法,其中,第二拥塞控制算法为终端设备基于变化后的网络环境确定的拥塞控制算法;
与服务器断连后,向服务器发送业务连接请求,用于请求从第一拥塞控制算法切换至第二拥塞控制算法,其中,第一拥塞控制算法为终端设备基于变化前的网络环境确定的拥塞控制算法。
其中一种可能的实现方式中,网络环境变化为网络的切换;或,
网络环境变化为网络时延和/或丢包率的变化。
其中一种可能的实现方式中,上述切换模块还用于响应于检测到的从第一业务切换到第二业务的业务场景变化,确定第二拥塞控制算法,其中,第二拥塞控制算法为终端设备基于第二业务确定的拥塞控制算法;
与服务器断连后,向服务器发送业务连接请求,用于请求从第一拥塞控制算法切换至第二拥塞控制算法,其中,第一拥塞控制算法为终端设备基于第一业务确定的拥塞控制算法。
第四方面,本申请实施例提供一种拥塞控制协商装置,应用于服务器,包括:
接收模块,用于接收终端设备发送的业务连接请求,其中,业务连接请求包括第一标识,第一标识用于指示拥塞控制算法;
反馈模块,用于向终端设备发送反馈消息,其中,反馈消息用于指示对业务连接请求中指示的拥塞控制算法的协商结果。
其中一种可能的实现方式中,上述接收模块还用于接收终端设备发送的业务数据报文,业务数据报文用于与服务器协商拥塞控制算法;
根据业务数据报文确定拥塞控制算法;
使用拥塞控制算法进行拥塞控制。
其中一种可能的实现方式中,业务数据报文包括第二标识,第二标识用于指示第一标识指示的拥塞控制算法。
其中一种可能的实现方式中,上述拥塞控制协商装置还包括:
切换模块,用于与终端设备断连后,接收终端设备发送的业务连接请求;
从第一拥塞控制算法切换至第二拥塞控制算法,其中,第一拥塞控制算法为与终端设备断连前使用的拥塞控制算法,第二拥塞控制算法为与终端设备断连后使用的拥塞控制算法。
第五方面,本申请实施例提供一种终端设备,包括:处理器和存储器,存储器用于存储计算机程序;处理器用于运行计算机程序,执行如第一方面所述的拥塞控制协商方法。
第六方面,本申请实施例提供一种服务器,包括:处理器和存储器,存储器用于存储计算机程序;处理器用于运行计算机程序,执行如第二方面所述的拥塞控制协商方法。
第七方面,本申请实施例提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机实现如第一方面及第二方面所述的拥塞控制协商方法。
第八方面,本申请实施例提供一种计算机程序产品,所述计算机程序产品包括计算机程序,当上述计算机程序被计算机执行时,使得计算机实现如第一方面及第二方面所述的拥塞控制协商方法。
在一种可能的实现方式中,第八方面中的程序可以全部或者部分存储在与处理器封装在一起的存储介质上,也可以部分或者全部存储在不与处理器封装在一起的存储器上。
第九方面,提供了一种通信系统,包括:用于执行第一方面提供的任意一种方法的终端设备和用于执行第二方面提供的任意一种方法的服务器。
附图说明
图1为本申请实施例提供的终端设备的硬件结构示意图;
图2为本申请提供的拥塞控制协商方法一个实施例的流程示意图;
图3为本申请提供的拥塞控制协商方法另一个实施例的流程示意图;
图4为本申请提供的拥塞控制协商方法再一个实施例的流程示意图;
图5为本申请提供的拥塞控制协商装置一个实施例的结构示意图;
图6为本申请提供的拥塞控制协商装置另一个实施例的结构示意图;
图7为本申请实施例提供的服务器的硬件结构示意图。
具体实施方式
本申请实施例中,除非另有说明,字符“/”表示前后关联对象是一种或的关系。例如,A/B可以表示A或B。“和/或”描述关联对象的关联关系,表示可以存在三种关系。例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
需要指出的是,本申请实施例中涉及的“第一”、“第二”等词汇,仅用于区分描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量,也不能理解为指示或暗示顺序。
本申请实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。此外,“以下至少一项(个)”或者其类似表达,是指的这些项中的任意组合,可以包括单项(个)或复数项(个)的任意组合。例如,A、B或C中的至少一项(个),可以表示:A,B,C,A和B,A和C,B和C,或A、B和C。其中,A、B、C中的每个本身可以是元素,也可以是包含一个或多个元素的集合。
本申请实施例中,“示例的”、“在一些实施例中”、“在另一实施例中”等用于表示作例子、例证或说明。本申请中被描述为“示例”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用示例的一词旨在以具体方式呈现概念。
本申请实施例中的“的(of)”、“相应的(corresponding,relevant)”和“对应的(corresponding)”有时可以混用,应当指出的是,在不强调其区别时,所要表达的含义是一致的。本申请实施例中,通信、传输有时可以混用,应当指出的是,在不强调其区别时,其所表达的含义是一致的。例如,传输可以包括发送和/或接收,可以为名词,也可以是动词。
本申请实施例中涉及的等于可以与大于连用,适用于大于时所采用的技术方案,也可以与小于连用,适用于小于时所采用的技术方案。需要说明的是,当等于与大于连用时,不能与小于连用;当等于与小于连用时,不与大于连用。
以下对本申请实施例涉及的部分术语进行解释说明,以便于本领域技术人员理解。
1、终端设备。本申请实施例中终端设备是一种具有无线收发功能的设备,可以称之为终端(terminal)、用户设备(user equipment,UE)、移动台(mobile station,MS)、移动终端(mobile terminal,MT)、接入终端设备、车载终端设备、工业控制终端设备、UE单元、UE站、移动站、远方站、远程终端设备、移动设备、UE终端设备、无线通信设备、UE代理或UE装置等。终端设备可以是固定的或者移动的。需要说明的是,终端设备可以支持至少一种无线通信技术,例如长期演进(long term evolution,LTE)、新空口(new radio,NR)等。例如,终端设备可以是手机(mobile phone)、平板电脑(pad)、台式机、笔记本电脑、一体机、车载终端、虚拟现实(virtual reality,VR)终端设备、增强现实(augmented reality,AR)终端设备、工业控制(industrial control)中的无线终端、无人驾驶(self driving)中的无线终端、远程手术(remote medical surgery)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端、蜂窝电话、无绳电话、会话启动协议(sessioninitiation protocol,SIP)电话、无线本地环路(wireless local loop,WLL)站、个人数字助理(personal digital assistant,PDA)、具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其它处理设备、可穿戴设备、未来移动通信网络中的终端设备或者未来演进的公共移动陆地网络(public land mobile network,PLMN)中的终端设备等。在本申请的一些实施例中,终端设备还可以是具有收发功能的装置,例如芯片系统。其中,芯片系统可以包括芯片,还可以包括其它分立器件。
2、服务器。本申请实施例中的服务器是一种基于QUIC协议的服务端设备,也可以称之为QUIC服务器。为了提高业务的运行效率,避免业务在QUIC服务器中造成拥塞,在QUIC服务器中可以进行拥塞控制。其中,在QUIC服务器中可以支持多种拥塞控制算法,例如,CUBIC,NewReno及基于瓶颈带宽和往返传播时间(Bottleneck Bandwidth and Round-trippropagation time,BBR)等拥塞控制算法。
在现有的拥塞控制机制中,服务器针对不同的业务会配置不同的拥塞控制算法,当终端设备与服务器建立某一项业务连接后,基于该业务的拥塞控制算法也随之确定。如果服务器需要改变该业务的拥塞控制算法,则需要断开业务,更改服务器中该业务的拥塞控制算法后重启业务,由此会导致业务需要重新建连,从而会影响用户对该业务的业务体验。此外,如果此时终端设备中还运行着其他业务,在服务器更改拥塞控制算法时也需要断开其他业务的连接并重新建连,由此也会影响用户对其他业务的业务体验。
基于上述问题,本申请实施例提出了一种拥塞控制协商方法,应用于终端设备。
下面结合图1首先介绍本申请以下实施例中提供的示例性终端设备。图1示出了终端设备100的结构示意图。
电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本发明实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
I2C接口是一种双向同步串行总线,包括一根串行数据线(serial data line,SDA)和一根串行时钟线(derail clock line,SCL)。在一些实施例中,处理器110可以包含多组I2C总线。处理器110可以通过不同的I2C总线接口分别耦合触摸传感器180K,充电器,闪光灯,摄像头193等。例如:处理器110可以通过I2C接口耦合触摸传感器180K,使处理器110与触摸传感器180K通过I2C总线接口通信,实现电子设备100的触摸功能。
I2S接口可以用于音频通信。在一些实施例中,处理器110可以包含多组I2S总线。处理器110可以通过I2S总线与音频模块170耦合,实现处理器110与音频模块170之间的通信。在一些实施例中,音频模块170可以通过I2S接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。
PCM接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块170与无线通信模块160可以通过PCM总线接口耦合。在一些实施例中,音频模块170也可以通过PCM接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。所述I2S接口和所述PCM接口都可以用于音频通信。
UART接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,UART接口通常被用于连接处理器110与无线通信模块160。例如:处理器110通过UART接口与无线通信模块160中的蓝牙模块通信,实现蓝牙功能。在一些实施例中,音频模块170可以通过UART接口向无线通信模块160传递音频信号,实现通过蓝牙耳机播放音乐的功能。
MIPI接口可以被用于连接处理器110与显示屏194,摄像头193等外围器件。MIPI接口包括摄像头串行接口(camera serial interface,CSI),显示屏串行接口(displayserial interface,DSI)等。在一些实施例中,处理器110和摄像头193通过CSI接口通信,实现电子设备100的拍摄功能。处理器110和显示屏194通过DSI接口通信,实现电子设备100的显示功能。
GPIO接口可以通过软件配置。GPIO接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,GPIO接口可以用于连接处理器110与摄像头193,显示屏194,无线通信模块160,音频模块170,传感器模块180等。GPIO接口还可以被配置为I2C接口,I2S接口,UART接口,MIPI接口等。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为电子设备100充电,也可以用于电子设备100与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备,例如AR设备等。
可以理解的是,本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在本申请另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过电子设备100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(codedivision multiple access,CDMA),宽带码分多址(wideband code division multipleaccess,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidounavigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellitesystem,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N为大于1的正整数。
电子设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,电子设备100可以包括1个或N个摄像头193,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种视频编解码器。这样,电子设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。处理器110通过运行存储在内部存储器121的指令,和/或存储在设置于处理器中的存储器的指令,执行电子设备100的各种功能应用以及数据处理。
电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备100可以通过扬声器170A收听音乐,或收听免提通话。
受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备100接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170C发声,将声音信号输入到麦克风170C。电子设备100可以设置至少一个麦克风170C。在另一些实施例中,电子设备100可以设置两个麦克风170C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,电子设备100还可以设置三个,四个或更多麦克风170C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口130,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。压力传感器180A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180A,电极之间的电容改变。电子设备100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,电子设备100根据压力传感器180A检测所述触摸操作强度。电子设备100也可以根据压力传感器180A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
陀螺仪传感器180B可以用于确定电子设备100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定电子设备100围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器180B可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器180B检测电子设备100抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消电子设备100的抖动,实现防抖。陀螺仪传感器180B还可以用于导航,体感游戏场景。
气压传感器180C用于测量气压。在一些实施例中,电子设备100通过气压传感器180C测得的气压值计算海拔高度,辅助定位和导航。
磁传感器180D包括霍尔传感器。电子设备100可以利用磁传感器180D检测翻盖皮套的开合。在一些实施例中,当电子设备100是翻盖机时,电子设备100可以根据磁传感器180D检测翻盖的开合。进而根据检测到的皮套的开合状态或翻盖的开合状态,设置翻盖自动解锁等特性。
加速度传感器180E可检测电子设备100在各个方向上(一般为三轴)加速度的大小。当电子设备100静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。
距离传感器180F,用于测量距离。电子设备100可以通过红外或激光测量距离。在一些实施例中,拍摄场景,电子设备100可以利用距离传感器180F测距以实现快速对焦。
接近光传感器180G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。电子设备100通过发光二极管向外发射红外光。电子设备100使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定电子设备100附近有物体。当检测到不充分的反射光时,电子设备100可以确定电子设备100附近没有物体。电子设备100可以利用接近光传感器180G检测用户手持电子设备100贴近耳朵通话,以便自动熄灭屏幕达到省电的目的。接近光传感器180G也可用于皮套模式,口袋模式自动解锁与锁屏。
环境光传感器180L用于感知环境光亮度。电子设备100可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器180L也可用于拍照时自动调节白平衡。环境光传感器180L还可以与接近光传感器180G配合,检测电子设备100是否在口袋里,以防误触。
指纹传感器180H用于采集指纹。电子设备100可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
温度传感器180J用于检测温度。在一些实施例中,电子设备100利用温度传感器180J检测的温度,执行温度处理策略。例如,当温度传感器180J上报的温度超过阈值,电子设备100执行降低位于温度传感器180J附近的处理器的性能,以便降低功耗实施热保护。在另一些实施例中,当温度低于另一阈值时,电子设备100对电池142加热,以避免低温导致电子设备100异常关机。在其他一些实施例中,当温度低于又一阈值时,电子设备100对电池142的输出电压执行升压,以避免低温导致的异常关机。
触摸传感器180K,也称“触控器件”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于电子设备100的表面,与显示屏194所处的位置不同。
骨传导传感器180M可以获取振动信号。在一些实施例中,骨传导传感器180M可以获取人体声部振动骨块的振动信号。骨传导传感器180M也可以接触人体脉搏,接收血压跳动信号。在一些实施例中,骨传导传感器180M也可以设置于耳机中,结合成骨传导耳机。音频模块170可以基于所述骨传导传感器180M获取的声部振动骨块的振动信号,解析出语音信号,实现语音功能。应用处理器可以基于所述骨传导传感器180M获取的血压跳动信号解析心率信息,实现心率检测功能。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。
马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏194不同区域的触摸操作,马达191也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和电子设备100的接触和分离。电子设备100可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口195可以支持Nano SIM卡,MicroSIM卡,SIM卡等。同一个SIM卡接口195可以同时插入多张卡。所述多张卡的类型可以相同,也可以不同。SIM卡接口195也可以兼容不同类型的SIM卡。SIM卡接口195也可以兼容外部存储卡。电子设备100通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,电子设备100采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在电子设备100中,不能和电子设备100分离。
现结合图2-图4对本申请实施例提供的拥塞控制协商方法进行说明。图2为本申请拥塞控制协商方法的系统架构图。如图2所示,终端设备与服务器之间可以建立业务连接,终端设备在与服务器建立业务连接的过程中,可以与服务器之间进行拥塞控制算法的协商。当终端设备与服务器协商好拥塞控制算法后,建立业务连接并进行业务交互,由此可以使得服务器在与终端设备进行业务交互的过程中,根据与终端设备协商的拥塞控制算法进行拥塞控制,从而可以使得服务器中的拥塞控制算法可以进行灵活协商,无需断开所有业务的连接来更改拥塞控制算法,进而可以提高拥塞控制的效率,提高用户的业务体验。
如图3所示为本申请提供的拥塞控制协商方法一个实施例的流程示意图,具体包括以下步骤:
步骤201,终端设备确定拥塞控制算法。
具体地,当终端设备需要发起与服务器的业务连接时,可以首先确定拥塞控制算法。可以理解的是,该确定的拥塞控制算法可以较好的满足该业务的性能要求,例如,可以减少该业务的端到端时延等。在具体实现时,终端设备确定拥塞控制算法的方式可以是根据终端设备当前所处的网络环境和/或业务场景确定。示例性的,终端设备可以根据发起上述业务所使用的业务接口确定业务场景,例如,该业务场景可以是游戏、音乐、电商直播、视频会议等应用场景。或者,终端设备还可以根据当前所处的网络确定网络环境,例如,当终端设备处于例如5G等数据传输速率高及带宽高的强网络时,可以认为终端设备所处的网络环境较好;当终端设备处于例如2G等数据传输速率低及带宽窄的弱网络时,可以认为终端设备所处的网络环境较差。又或者,终端设备还可以根据与服务器的连接情况确定网络环境,例如,当终端设备直接与基站相连,并通过基站与服务器进行通信,则可以认为终端设备与服务器直连;当终端设备与WIFI相连,并通过WIFI与服务器进行通信,则可以认为终端设备与服务器是WIFI连接。
步骤202,终端设备向服务器发送业务连接请求,该业务连接请求用于协商拥塞控制算法。相应的,服务器接收终端设备发送的业务连接请求。
具体地,当终端设备确定当前发起业务的拥塞控制算法后,可以向服务器发送业务连接请求,其中,该业务连接请求可以用于请求与服务器建立业务连接,还可以用于与服务器协商拥塞控制算法。也就是说,终端设备可以在业务连接请求中携带当前发起业务的拥塞控制算法的第一标识,该第一标识用于标识当前发起业务的拥塞控制算法,由此可以使得服务器根据该第一标识查询到与该第一标识对应的拥塞控制算法后,使用与该第一标识对应的拥塞控制算法进行拥塞控制,从而可以达到拥塞控制算法协商的目的。
接着,对上述业务连接请求的发送方式进行示例性说明。其中,业务连接请求可以是以ClientHello请求报文的方式发送。该ClientHello请求报文可以是1往返时延(roundtrip time,RTT)的报文,该1RTT的ClientHello请求报文中,在quic_transport_parameters中新增了congestion_control_algorithm字段,该congestion_control_algorithm字段的值可以用于标识当前发起业务的拥塞控制算法,也就是说,该congestion_control_algorithm字段可以认为是第一标识。
可以理解的是,上述示例仅示例性的示出了通过新增congestion_control_algorithm字段携带第一标识的方式,但并不构成对本申请实施例的限定。在一些可选的实施例中,也可以通过新增其他字段的方式携带第一标识,或者使用已有字段的预留位的方式携带第一标识。
可选地,业务连接请求也可以通过新增的控制算法帧(例如,Type=0x1f)携带。
示例性的,控制算法帧的帧格式如下所示:
CONGESTION_CONTROL Frame
{
Type(i)=0x1f,
Congestion Control Algorithm Type(i),
}
其中,控制算法帧(CONGESTION_CONTROL)包含以下字段:拥塞控制算法类型(Congestion Control Algorithm Type),用于协商该字段对应的拥塞控制算法类型。
步骤203,服务器接收到终端设备发送的业务连接请求后,获取业务连接请求中的第一标识,根据第一标识使用与该第一标识对应的拥塞控制算法。
具体地,当服务器接收到终端设备发送的业务连接请求后,可以获取业务连接请求中的第一标识。以ClientHello请求报文为例,服务器可以读取congestion_control_algorithm字段的值,用于获取业务连接请求中的第一标识。
接着,服务器可以根据第一标识查询与第一标识对应的拥塞控制算法。可以理解的是,服务器中可以预先存储多种拥塞控制算法,例如,CUBIC、NewReno、及BBR等拥塞控制算法,并可以将预先存储的拥塞控制算法与第一标识对应。若服务器能查询到与第一标识对应的拥塞控制算法,则可以直接使用与第一标识对应的拥塞控制算法进行拥塞控制;若服务器未能查询到与第一标识对应的拥塞控制算法,也就是说,服务器不支持与第一标识对应的拥塞控制算法,则无法使用与第一标识对应的拥塞控制算法进行拥塞控制,在该情况下,服务器可以在已存储的拥塞控制算法中选取一个与终端设备当前发起的业务匹配的拥塞控制算法,或者使用默认的拥塞控制算法,本申请实施例对此不作特殊限定。
步骤204,服务器向终端设备发送协商结果。相应的,终端设备接收服务器发送的协商结果。
具体地,当服务器获取到第一标识后,可以根据第一标识向终端设备发送协商结果。其中,该协商结果用于通知终端设备拥塞控制算法协商成功或协商失败。在具体实现时,若服务器能查询到与第一标识对应的拥塞控制算法,则协商结果可以是协商成功;若服务器未能查询到与第一标识对应的拥塞控制算法,则协商结果可以是协商失败。
接着,对上述协商结果的发送方式进行示例性说明,其中,协商结果可以是以CONNECTION_CLOSE报文的方式发送。若协商结果为协商成功,可以不发送CONNECTION_CLOSE报文;若协商结果为协商失败,则CONNECTION_CLOSE报文中可以携带错误码TRANSPORT_PARAMETER_ERROR,该错误码TRANSPORT_PARAMETER_ERROR用于通知终端设备本次拥塞控制算法协商失败。
可以理解的是,上述示例仅示例性的示出了在反馈报文中通过携带错误码的方式通知协商失败的结果,但并不构成对本申请实施例的限定,在一些实施例中,还可以通过其他报文携带错误码的方式通知协商失败的结果,或者通过CONNECTION_CLOSE报文中的预留位的方式通知协商失败的结果。
步骤205,终端设备接收到服务器发送的协商结果后,与服务器建立业务连接。
具体地,当终端设备接收到服务器发送的协商结果后,可以根据协商结果进行以下两种情况的处理。
情况一,协商结果为拥塞控制算法协商成功。
具体地,若终端设备接收到的协商结果为拥塞控制算法协商成功,以CONNECTION_CLOSE报文为例,若终端设备未接收到CONNECTION_CLOSE报文,则可以认为拥塞控制算法协商成功,此时,终端设备可以与服务器建立业务连接,并在建立业务连接后向服务器发送该业务的数据报文。
情况二,协商结果为拥塞控制算法协商失败。
具体地,若终端设备接收到的协商结果为拥塞控制算法协商失败,以CONNECTION_CLOSE报文为例,若CONNECTION_CLOSE报文中携带错误码TRANSPORT_PARAMETER_ERROR,则可以认为拥塞控制算法协商失败,此时,终端设备可以再次发起与服务器的业务连接,例如,选取新的拥塞控制算法重新向服务器发送业务连接请求;或者结束本次的业务请求;又或者继续与服务器进行业务交互。
上文通过图2对业务建立时的拥塞控制算法的协商进行了说明,接着,下文通过图3对业务建立后的拥塞控制算法的协商进行说明。在本实施例中,终端设备已与服务器建立业务连接,然而,终端设备与服务器之间可能长时间没有业务数据报文交互,此时,终端设备可以通过业务数据报文与服务器进行拥塞控制算法的协商,无需再次建立业务连接,从而可以避免业务重新建连给用户带来较差的业务体验,同时也提高了拥塞控制算法的协商效率。
如图3所示为本申请提供的拥塞控制协商方法另一个实施例的流程示意图,具体包括以下步骤:
步骤301,终端设备确定拥塞控制算法。
具体地,当终端设备需要发起与服务器的业务连接时,可以首先确定拥塞控制算法。确定拥塞控制算法的具体方式可以参考上述实施例,在此不再赘述。
步骤302,终端设备向服务器发送业务连接请求,该业务连接请求用于协商拥塞控制算法。相应的,服务器接收终端设备发送的业务连接请求。
终端设备向服务器发送业务连接请求的具体过程可以参考上述实施例,在此不再赘述。
步骤303,服务器接收到终端设备发送的业务连接请求后,获取业务连接请求中的第一标识,根据第一标识使用与该第一标识对应的拥塞控制算法。
终端设备获取业务连接请求中的第一标识,根据第一标识使用与该第一标识对应的拥塞控制算法的具体过程可以参考上述实施例,在此不再赘述。
步骤304,服务器向终端设备发送协商结果。相应的,终端设备接收服务器发送的协商结果。
服务器向终端设备发送协商结果的具体过程可以参考上述实施例,在此不再赘述。
步骤305,终端设备接收到服务器发送的协商结果后,与服务器建立业务连接。
终端设备与服务器建立业务连接的具体过程可以参考上述实施例,在此不再赘述。
步骤306,终端设备向服务器发送业务数据报文,用于与服务器再次协商拥塞控制算法。相应的,服务器接收终端设备发送的业务数据报文。
具体地,当终端设备与服务器建立业务连接后,若长时间没有业务数据报文交互,则当终端设备再次与服务器进行业务数据报文交互时,可以与服务器再次协商拥塞控制算法。可以理解的是,本实施例中的拥塞控制算法的协商可以是对步骤301中已协商好的拥塞控制算法进行确认,也就是说,当终端设备与服务器再次进行业务数据报文交互时,与服务器确认是否继续使用已协商的拥塞控制算法,由此可以使得终端设备及服务器无需断开业务连接就可以协商拥塞控制算法,从而可以提高用户的业务体验,同时也可以提高拥塞控制算法的协商效率。
在具体实现时,终端设备再次与服务器再次协商拥塞控制算法的方式可以是:终端设备向服务器发送业务数据报文,该业务数据报文中包含第二标识,其中,该第二标识用于指示步骤301中确定的拥塞控制算法。
接着,对上述拥塞控制算法的再次协商方式进行示例性说明。其中,用于对拥塞控制算法进行再次协商的业务数据报文也可以是ClientHello请求报文,可以理解的是,在再次协商场景中的ClientHello请求报文为0RTT报文。0RTT的ClientHello请求报文中,可以在quic_transport_parameters中通过新增congestion_control_algorithm字段携带第二标识。
可选地,也可以通过自定义拥塞控制算法帧进行再次协商,例如,终端设备可以在与服务器握手完成后发送一个控制算法帧(Type=0x1f),通知服务器使用的拥塞控制算法类型。通过控制算法帧进行再次协商的具体方式可以参考上述实施例,在此不再赘述。
可以理解的是,上述示例仅示例性的示出了通过0RTT报文新增字段携带第二标识的方式,但并不构成对本申请实施例的限定。在一些可选的实施例中,也可以通过其他业务数据报文的方式携带第二标识,或者使用0RTT报文中已有字段的预留位的方式携带第二标识。
可选地,0RTT报文中也可以不携带第二标识,当服务器接收到不携带第二标识的0RTT报文后,可以查询与终端设备建立业务连接后使用的拥塞控制算法,并使用该拥塞控制算法,由此可以在业务断连的情况下实现终端设备与服务器之间的拥塞控制算法的再次协商。
步骤307,服务器接收到终端设备发送的业务数据报文后,获取业务数据报文中的第二标识,根据第二标识使用与该第二标识对应的拥塞控制算法。
具体地,当服务器接收到终端设备发送的业务数据报文后,可以获取业务数据报文中的第二标识。以0RTT报文为例,服务器可以读取0RTT报文中的congestion_control_algorithm字段,用于获取第二标识。接着,服务器可以根据该第二标识查询与第二标识对应的拥塞控制算法,并在查询到与第二标识对应的拥塞控制算法后,使用该拥塞控制算法进行拥塞控制。
接着,下文通过图4进一步对拥塞控制算法的动态协商方式进行示例性说明。在本实施例中,终端设备与服务器进行业务交互的过程中,若检测到网络变化或业务变化,则终端设备可以与服务器断开业务连接,并与服务器重新进行拥塞控制算法协商,由此可以使得拥塞控制算法匹配变化后的网络或变化后的业务,从而可以提高用户的业务体验,同时也可以实现拥塞控制算法的动态协商。
如图4所示为本申请提供的拥塞控制协商方法再一个实施例的流程示意图,具体包括以下步骤:
步骤401,终端设备确定第一拥塞控制算法。
具体地,当终端设备需要发起与服务器的业务连接时,可以首先确定拥塞控制算法。确定拥塞控制算法的具体方式可以参考上述实施例,在此不再赘述。可以理解的是,本步骤401中确定的拥塞控制算法是基于当前的环境确定的,例如,该拥塞控制算法可以是根据当前的网络环境确定的,或者该拥塞控制算法可以是根据当前的业务环境确定的。为说明方便,下文将基于第一网络确定的拥塞控制算法或基于第一业务确定的拥塞控制算法称为“第一拥塞控制算法”;其中,第一网络是终端设备当前所处的网络环境,第一业务是终端设备与服务器发起的当前业务。
步骤402,终端设备向服务器发送业务连接请求,该业务连接请求用于协商拥塞控制算法。相应的,服务器接收终端设备发送的业务连接请求。
具体地,终端设备确定第一拥塞控制算法后,可以向服务器发送业务连接请求,用于协商第一拥塞控制算法。终端设备向服务器发送业务连接请求的具体过程可以参考上述实施例,在此不再赘述。
步骤403,服务器接收到终端设备发送的业务连接请求后,获取业务连接请求中的第一标识,根据第一标识使用第一拥塞控制算法。
具体地,服务器接收到终端设备发送的业务连接请求后,可以获取业务连接请求中的第一标识,并可以根据第一标识查询到与第一标识对应的第一拥塞控制算法。终端设备获取业务连接请求中的第一标识,根据第一标识使用第一拥塞控制算法的具体过程可以参考上述实施例,在此不再赘述。
步骤404,服务器向终端设备发送协商结果。相应的,终端设备接收服务器发送的协商结果。
具体地,服务器使用第一拥塞控制算法后,可以向终端设备发送协商结果,用于通知终端设备服务器已确认使用第一拥塞控制算法。服务器向终端设备发送协商结果的具体过程可以参考上述实施例,在此不再赘述。
步骤405,终端设备接收到服务器发送的协商结果后,与服务器建立业务连接。
终端设备与服务器建立业务连接的具体过程可以参考上述实施例,在此不再赘述。
步骤406,响应于检测到的网络环境变化或业务场景变化,确定第二拥塞控制算法。
具体地,确定第二拥塞控制算法的方式可以包括以下两种:
方式1,检测到网络环境变化。
具体地,当终端设备检测到网络环境变化之后,可以确定第二拥塞控制算法。其中,网络环境变化可以是网络的切换,例如,从第一网络切换至第二网络,或者网络环境变化也可以是网络时延和/或丢包率的变化。示例性的,网络的切换可以是运营商网络间的切换,或者WIFI与运营商网络之间的切换。第二拥塞控制算法可以是根据变化后的网络环境确定的拥塞控制算法。其中,第二拥塞控制算法与第一拥塞控制算法不同。
方式2,检测到业务场景变化。
具体地,当终端设备检测到业务场景变化之后,可以确定第二拥塞控制算法。其中,业务场景变化可以是业务的变化,例如,从第一业务变更为第二业务。示例性的,业务场景的变化可以是从游戏业务变更为视频会议业务。第二拥塞控制算法可以是根据第二业务确定的拥塞控制算法。其中,第二拥塞控制算法与第一拥塞控制算法不同。
步骤407,终端设备与服务器断开业务连接。
具体地,当终端设备确定第二拥塞控制算法后,可以与服务器断开业务连接。由此可以使得终端设备向服务器重新发起业务连接。可以理解的是,若终端设备检测到网络环境变化或业务场景变化后,没有确定第二拥塞控制算法,也就是说,根据变化后的网络环境或变化后的业务场景确定的拥塞控制算法与初始业务连接时确定的拥塞控制算法一致,此时,终端设备无需重新协商拥塞控制算法。
步骤408,终端设备向服务器发送业务连接请求,该业务连接请求用于协商第二拥塞控制算法。相应的,服务器接收终端设备发送的业务连接请求。
具体地,当终端设备与服务器断开业务连接后,可以重新向服务器发送业务连接请求,用于与服务器再次进行业务连接,并再次协商拥塞控制算法。示例性的,终端设备可以在业务连接请求中携带的第一标识中指示第二拥塞控制算法,具体指示方式可以参考上述实施例,在此不再赘述。
步骤409,服务器接收到终端设备发送的业务连接请求后,从第一拥塞控制算法切换至第二拥塞控制算法。
具体地,当服务器接收到终端设备发送的业务连接请求后,可以获取业务连接请求中的第一标识,并可以根据该第一标识查询获得与第一标识对应的第二拥塞控制算法。由此,服务器可以从第一拥塞控制算法切换至第二拥塞控制算法,从而可以实现终端设备与服务器之间的拥塞控制算法的动态协商。
图5为本申请拥塞控制协商装置一个实施例的结构示意图,如图5所示,上述拥塞控制协商装置50应用于终端设备,可以包括:发送模块51;其中,
发送模块51,用于向服务器发送业务连接请求,用于与服务器进行拥塞控制算法的协商;其中,业务连接请求包括第一标识,第一标识用于指示拥塞控制算法。
其中一种可能的实现方式中,业务连接请求中第一标识指示的拥塞控制算法由终端设备根据当前网络环境和/或业务场景确定。
其中一种可能的实现方式中,第一标识由业务连接请求中的新增字段进行标识,或,
第一标识由业务连接请求中的已有字段的预留位进行标识。
其中一种可能的实现方式中,上述拥塞控制协商装置50还包括:
接收模块52,用于接收服务器发送的反馈消息,其中,反馈消息中包括拥塞控制算法的协商结果;
若协商结果为协商成功,使用业务连接请求中指示的拥塞控制算法与服务器进行业务交互。
其中一种可能的实现方式中,上述发送模块51还用于向服务器发送业务数据报文,其中,业务数据报文用于与服务器协商拥塞控制算法。
其中一种可能的实现方式中,业务数据报文包括第二标识,第二标识用于指示第一标识指示的拥塞控制算法。
其中一种可能的实现方式中,业务数据报文为0往返时延RTT报文。
其中一种可能的实现方式中,上述拥塞控制协商装置50还包括:
切换模块53,用于响应于检测到的网络环境变化,确定第二拥塞控制算法,其中,第二拥塞控制算法为终端设备基于变化后的网络环境确定的拥塞控制算法;
与服务器断连后,向服务器发送业务连接请求,用于请求从第一拥塞控制算法切换至第二拥塞控制算法,其中,第一拥塞控制算法为终端设备基于变化前的网络环境确定的拥塞控制算法。
其中一种可能的实现方式中,网络环境变化为网络的切换;或,
网络环境变化为网络时延和/或丢包率的变化。
其中一种可能的实现方式中,上述切换模块53还用于响应于检测到的从第一业务切换到第二业务的业务场景变化,确定第二拥塞控制算法,其中,第二拥塞控制算法为终端设备基于第二业务确定的拥塞控制算法;
与服务器断连后,向服务器发送业务连接请求,用于请求从第一拥塞控制算法切换至第二拥塞控制算法,其中,第一拥塞控制算法为终端设备基于第一业务确定的拥塞控制算法。
图6为本申请拥塞控制协商装置另一个实施例的结构示意图,如图6所示,上述拥塞控制协商装置60应用于服务器,可以包括:接收模块61及反馈模块62;其中,
接收模块61,用于接收终端设备发送的业务连接请求,其中,业务连接请求包括第一标识,第一标识用于指示拥塞控制算法;
反馈模块62,用于向终端设备发送反馈消息,其中,反馈消息用于指示对业务连接请求中指示的拥塞控制算法的协商结果。
其中一种可能的实现方式中,上述接收模块61还用于接收终端设备发送的业务数据报文,业务数据报文用于与服务器协商拥塞控制算法;
根据业务数据报文确定拥塞控制算法;
使用拥塞控制算法进行拥塞控制。
其中一种可能的实现方式中,业务数据报文包括第二标识,第二标识用于指示第一标识指示的拥塞控制算法。
其中一种可能的实现方式中,上述拥塞控制协商装置60还包括:
切换模块63,用于与终端设备断连后,接收终端设备发送的业务连接请求;
从第一拥塞控制算法切换至第二拥塞控制算法,其中,第一拥塞控制算法为与终端设备断连前使用的拥塞控制算法,第二拥塞控制算法为与终端设备断连后使用的拥塞控制算法。
图7为本申请实施例提供的一种电子设备700的结构示意图,上述电子设备700可以包括:至少一个处理器;以及与上述处理器通信连接的至少一个存储器。上述电子设备700可以为服务器。上述存储器存储有可被上述处理器执行的程序指令,处理器可调用上述程序指令能够执行本申请实施例提供的服务器执行的动作。
如图7所示,电子设备700可以以通用计算设备的形式表现。电子设备700的组件可以包括但不限于:一个或者多个处理器710,存储器720,连接不同系统组件(包括存储器720和处理器710)的通信总线740及通信接口730。
通信总线740表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(Industry StandardArchitecture,ISA)总线,微通道体系结构(Micro Channel Architecture,MAC)总线,增强型ISA总线、视频电子标准协会(Video Electronics Standards Association,VESA)局域总线以及外围组件互连(Peripheral Component Interconnection,PCI)总线。
电子设备700典型地包括多种计算机系统可读介质。这些介质可以是任何能够被电子设备700访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储器720可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(Random Access Memory,RAM)和/或高速缓存存储器。电子设备700可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。尽管图7中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如:光盘只读存储器(Compact Disc Read Only Memory,CD-ROM)、数字多功能只读光盘(Digital Video Disc Read Only Memory,DVD-ROM)或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与通信总线740相连。存储器720可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本申请各实施例的功能。
具有一组(至少一个)程序模块的程序/实用工具,可以存储在存储器720中,这样的程序模块包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块通常执行本申请所描述的实施例中的功能和/或方法。
电子设备700也可以与一个或多个外部设备(例如键盘、指向设备、显示器等)通信,还可与一个或者多个使得用户能与该电子设备700交互的设备通信,和/或与使得该电子设备700能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过通信接口730进行。并且,电子设备700还可以通过网络适配器(图7中未示出)与一个或者多个网络(例如局域网(Local AreaNetwork,LAN),广域网(WideArea Network,WAN)和/或公共网络,例如因特网)通信,上述网络适配器可以通过通信总线740与电子设备的其它模块通信。应当明白,尽管图7中未示出,可以结合电子设备700使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、磁盘阵列(Redundant Arrays of Independent Drives,RAID)系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请实施例各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:快闪存储器、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (17)

1.一种拥塞控制协商方法,应用于终端设备,其特征在于,所述方法包括:
向服务器发送业务连接请求,用于与所述服务器进行拥塞控制算法的协商;其中,所述业务连接请求包括第一标识,所述第一标识用于指示拥塞控制算法。
2.根据权利要求1所述的方法,其特征在于,所述业务连接请求中第一标识指示的拥塞控制算法由所述终端设备根据当前网络环境和/或业务场景确定。
3.根据权利要求1或2所述的方法,其特征在于,所述第一标识由所述业务连接请求中的新增字段进行标识,或,
所述第一标识由所述业务连接请求中的已有字段的预留位进行标识。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述向服务器发送业务连接请求之后,所述方法还包括:
接收所述服务器发送的反馈消息,其中,所述反馈消息中包括拥塞控制算法的协商结果;
若所述协商结果为协商成功,使用所述业务连接请求中指示的拥塞控制算法与所述服务器进行业务交互。
5.根据权利要求4所述的方法,其特征在于,所述使用所述业务连接请求中指示的拥塞控制算法与所述服务器进行业务交互之后,所述方法还包括:
向所述服务器发送业务数据报文,其中,所述业务数据报文用于与所述服务器协商拥塞控制算法。
6.根据权利要求5所述的方法,其特征在于,所述业务数据报文包括第二标识,所述第二标识用于指示所述第一标识指示的拥塞控制算法。
7.根据权利要求5或6所述的方法,其特征在于,所述业务数据报文为0往返时延RTT报文。
8.根据权利要求4所述的方法,其特征在于,所述使用所述业务连接请求中指示的拥塞控制算法与所述服务器进行业务交互之后,所述方法还包括:
响应于检测到的网络环境变化,确定第二拥塞控制算法,其中,所述第二拥塞控制算法为所述终端设备基于变化后的网络环境确定的拥塞控制算法;
与所述服务器断连后,向所述服务器发送业务连接请求,用于请求从第一拥塞控制算法切换至所述第二拥塞控制算法,其中,所述第一拥塞控制算法为所述终端设备基于变化前的网络环境确定的拥塞控制算法。
9.根据权利要求8所述的方法,其特征在于,所述网络环境变化为网络的切换;或,
所述网络环境变化为网络时延和/或丢包率的变化。
10.根据权利要求4所述的方法,其特征在于,所述使用所述业务连接请求中指示的拥塞控制算法与所述服务器进行业务交互之后,所述方法还包括:
响应于检测到的从第一业务切换到第二业务的业务场景变化,确定第二拥塞控制算法,其中,所述第二拥塞控制算法为所述终端设备基于所述第二业务确定的拥塞控制算法;
与所述服务器断连后,向所述服务器发送业务连接请求,用于请求从第一拥塞控制算法切换至所述第二拥塞控制算法,其中,所述第一拥塞控制算法为所述终端设备基于所述第一业务确定的拥塞控制算法。
11.一种拥塞控制协商方法,应用于服务器,其特征在于,所述方法包括:
接收终端设备发送的业务连接请求,其中,所述业务连接请求包括第一标识,所述第一标识用于指示拥塞控制算法;
向所述终端设备发送反馈消息,其中,所述反馈消息用于指示对所述业务连接请求中指示的拥塞控制算法的协商结果。
12.根据权利要求11所述的方法,其特征在于,所述方法还包括:
接收所述终端设备发送的业务数据报文,所述业务数据报文用于与所述服务器协商拥塞控制算法;
根据所述业务数据报文确定拥塞控制算法;
使用所述拥塞控制算法进行拥塞控制。
13.根据权利要求12所述的方法,其特征在于,所述业务数据报文包括第二标识,所述第二标识用于指示所述第一标识指示的拥塞控制算法。
14.根据权利要求11所述的方法,其特征在于,所述方法还包括:
与所述终端设备断连后,接收所述终端设备发送的业务连接请求;
从第一拥塞控制算法切换至第二拥塞控制算法,其中,所述第一拥塞控制算法为与所述终端设备断连前使用的拥塞控制算法,所述第二拥塞控制算法为与所述终端设备断连后使用的拥塞控制算法。
15.一种终端设备,其特征在于,包括:存储器,所述存储器用于存储计算机程序代码,所述计算机程序代码包括指令,当所述终端设备从所述存储器中读取所述指令,以使得所述终端设备执行如权利要求1-10中任一项所述的拥塞控制协商方法。
16.一种服务器,其特征在于,包括:存储器,所述存储器用于存储计算机程序代码,所述计算机程序代码包括指令,当所述服务器从所述存储器中读取所述指令,以使得所述服务器执行如权利要求11-14中任一项所述的拥塞控制协商方法。
17.一种计算机可读存储介质,其特征在于,包括计算机指令,当所述计算机指令在所述终端设备上运行时,使得所述终端设备执行如权利要求1-10中任一项所述的拥塞控制协商方法,或当所述计算机指令在所述服务器上运行时,使得所述服务器执行如权利要求11-14中任一项所述的拥塞控制协商方法。
CN202210455147.4A 2022-04-27 2022-04-27 拥塞控制协商方法、电子设备及存储介质 Pending CN117014377A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210455147.4A CN117014377A (zh) 2022-04-27 2022-04-27 拥塞控制协商方法、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210455147.4A CN117014377A (zh) 2022-04-27 2022-04-27 拥塞控制协商方法、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN117014377A true CN117014377A (zh) 2023-11-07

Family

ID=88571374

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210455147.4A Pending CN117014377A (zh) 2022-04-27 2022-04-27 拥塞控制协商方法、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN117014377A (zh)

Similar Documents

Publication Publication Date Title
CN115426064B (zh) 音频数据的同步方法及设备
CN115209195B (zh) 一种通过遥控器实现一碰投屏的终端设备、方法以及系统
US20220039179A1 (en) Bluetooth Connection Method and Device
WO2021036835A1 (zh) 一种蓝牙搜索方法、系统及相关装置
EP3843435A1 (en) Data transmission method and electronic device
EP4213512A1 (en) Screen projection method and system, and electronic device
WO2021043219A1 (zh) 一种蓝牙回连方法及相关装置
CN112806092B (zh) 一种麦克风mic切换方法及设备
US11844119B2 (en) Bluetooth pairing method and related apparatus
EP4250075A1 (en) Content sharing method, electronic device, and storage medium
CN114125789B (zh) 通信方法、终端设备及存储介质
EP4247030A1 (en) Device network distribution method, and mobile terminal and storage medium
US20240008107A1 (en) Communication connection establishment method and system, electronic device, and storage medium
CN114339709A (zh) 无线通信方法和终端设备
EP3993461A1 (en) Device capability discovery method and p2p device
CN114554012B (zh) 来电接听方法、电子设备及存储介质
EP4336356A1 (en) Screen projection method and related apparatus
CN112996066B (zh) 驻网方法及相关设备
CN116133165A (zh) 耳机连接系统、方法、耳机、电子设备及可读存储介质
CN117014377A (zh) 拥塞控制协商方法、电子设备及存储介质
CN116667875B (zh) 上网通路的切换方法、装置和终端设备
CN115134402B (zh) 设备连接方法及电子设备
CN114980238B (zh) Wi-Fi接入的方法及相关设备
CN115580541B (zh) 信息同步方法及电子设备
CN116708317B (zh) 数据包mtu的调整方法、装置和终端设备

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