CN117135682A - 获取发送速率的方法、第一电子设备及存储介质 - Google Patents
获取发送速率的方法、第一电子设备及存储介质 Download PDFInfo
- Publication number
- CN117135682A CN117135682A CN202310150533.7A CN202310150533A CN117135682A CN 117135682 A CN117135682 A CN 117135682A CN 202310150533 A CN202310150533 A CN 202310150533A CN 117135682 A CN117135682 A CN 117135682A
- Authority
- CN
- China
- Prior art keywords
- rate
- wireless transmission
- electronic device
- notebook computer
- 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
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 945
- 238000000034 method Methods 0.000 title claims abstract description 87
- 238000004891 communication Methods 0.000 claims description 51
- 230000008569 process Effects 0.000 claims description 27
- 230000008859 change Effects 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 5
- 230000011664 signaling Effects 0.000 claims description 4
- 238000007726 management method Methods 0.000 description 36
- 238000012546 transfer Methods 0.000 description 20
- 230000006870 function Effects 0.000 description 14
- 238000010295 mobile communication Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 238000012790 confirmation Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000002776 aggregation Effects 0.000 description 3
- 238000004220 aggregation Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000007423 decrease Effects 0.000 description 3
- 101000972158 Homo sapiens Mitochondrial tRNA-specific 2-thiouridylase 1 Proteins 0.000 description 2
- 102100022450 Mitochondrial tRNA-specific 2-thiouridylase 1 Human genes 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/0215—Traffic management, e.g. flow control or congestion control based on user or device properties, e.g. MTC-capable devices
- H04W28/0221—Traffic management, e.g. flow control or congestion control based on user or device properties, e.g. MTC-capable devices power availability or consumption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/0231—Traffic management, e.g. flow control or congestion control based on communication conditions
- H04W28/0236—Traffic management, e.g. flow control or congestion control based on communication conditions radio quality, e.g. interference, losses or delay
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请提供一种获取发送速率的方法、第一电子设备及存储介质。该方法包括:获取与第三电子设备建立的K条无线传输路径中每条无线传输路径上的最大发送速率。从网卡信息中获取第一电子设备在与多个第二电子设备建立的N条无线传输路径上的第一发送速率。根据第一发送速率、N和预配置的预留带宽比例,估算一条无线传输路径上的第二发送速率。根据K条无线传输路径上的最大发送速率以及第二发送速率,计算第一电子设备在K条无线传输路径中每条无线传输路径上的协商发送速率。如此,可以协商多传输路径中每条传输路径上的发送速率,满足用户对多传输路径大速率传输数据的需求。
Description
技术领域
本申请涉及通信领域,尤其涉及一种获取发送速率的方法、第一电子设备及存储介质。
背景技术
随着通信技术的发展,不同电子设备之间的通信越来越便捷。多个电子设备可以组合形成组网。组网中的多个电子设备之间可以进行数据传输。
以用户通过组网中一个电子设备(如个人计算机Personal Computer,PC))提供的用户界面,同时控制当前电子设备和组网中的其他电子设备(如手机)的场景为例。当用户需要通过个人计算机的键盘或鼠标操作手机时,用户可以将手机与PC登录相同的账号。手机与PC登录相同账号的情况下,会自动组网。用户在PC中安装的管理应用的应用界面中,可以将应用界面中的手机图标拖到PC图标一侧,实现对手机的控制。用户可以控制PC的鼠标在PC界面与手机界面之间自由移动。用户可以使用PC的鼠标光标移动到手机界面上,打开手机中的应用程序、文件等。用户也可以使用PC的键盘编辑手机中的文件,并可以在PC界面和手机界面之间拖拽文件。
在组网中的电子设备之间传输数据的场景中,为了尽可能大的利用网络带宽,电子设备可以实时计算数据传输的最大发送速率,并以最大发送速率为上限传输数据。但是目前,最大发送速率只适合向单个设备发送数据的场景,无法满足数据传输多样的需求。
发明内容
有鉴于此,本申请提供了一种获取发送速率的方法、第一电子设备及存储介质,可以为多传输通道中每个传输通道对应的发送速率上限进行协商,满足用户对数据传输多样化的需求。
第一方面,本申请提供一种获取发送速率的方法,应用于第一电子设备。该第一电子设备与M个第二电子设备建立有N条无线传输路径,M≥1,N≥2。M个第二电子设备包括第三电子设备。第一电子设备与第三电子设备建立有K条无线传输路径,K≥1。第一电子设备获取在K条无线传输路径中每条无线传输路径上的最大发送速率以及第一电子设备在N条无线传输路径上的第一发送速率。第一电子设备根据第一发送速率、N和预配置的预留带宽比例,估算的N条无线传输路径中一条无线传输路径上的第二发送速率。第一电子设备根据K条无线传输路径上的最大发送速率以及估算的第二发送速率,计算第一电子设备在K条无线传输路径中每条无线传输路径上的协商发送速率。
通过这种方式,在第一电子设备同时通过多条无线传输路径向至少一个第二电子设备传输数据时,可以为每条无线传输路径协商出合适的协商发送速率。该协商发送速率可以作为第一电子设备在对应的无线传输路径上发送速率的上限,在第一电子设备通过多条无线传输路径向至少一个第二电子设备发送数据时,第一电子设备不会超过自身最大发送数据的能力。如此,不仅可以满足用户对多传输路径传输数据的需求,还可以为每条无线传输路径协商出发送速率的上限,尽可能地实现网络带宽的最大利用。
在第一方面的一种可能的实现方式中,在计算第一电子设备在K条无线传输路径中每条无线传输路径上的协商发送速率之后,还可以采用第三发送速率在对应无线传输路径上向第三电子设备发送数据。该第三发送速率小于或等于对应无线传输路径上的协商发送速率。
如此,第一电子设备可以在各条无线传输路径上,以小于或等于协商发送速率的第三发送速率通过对应的无线传输路径上分别向至少一个第二电子设备发送数据。第一电子设备在向至少一个第二电子设备发送数据时不仅不会超过自身最大发送数据的能力,还可以在通过多条无线传输路径传输数据的同时,尽可能地利用网络带宽,提高数据传输的效率。
在第一方面的一种可能的实现方式中,K=1,上述K条无线传输路径上的最大发送速率包括:第一电子设备在与第三电子设备的一条无线传输路径上的最大发送速率。
在K=1的情况下,第一电子设备与第三电子设备建立有一条无线传输路径。在此数据传输场景下,第一电子设备在K条无线传输路径上的最大发送速率包括第一电子设备在与第三电子设备建立的一条无线传输路径上的最大发送速率。
在第一方面的一种可能的实现方式中,第一电子设备根据K条无线传输路径上的最大发送速率以及第二发送速率,计算第一电子设备在K条无线传输路径中每条无线传输路径上的协商发送速率,可以包括:第一电子设备计算第四发送速率,该第四发送速率等于(N-1)倍的第二发送速率。第一电子设备计算与第三电子设备的一条无线传输路径上的最大发送速率和第四发送速率的差值,得到第一电子设备在第一电子设备与第三电子设备的一条无线传输路径上的协商发送速率。
通过这种方式,第一电子设备在预留带宽的同时,还考虑到存在与第三电子设备建立的无线传输路径之外其他无线传输路径的情况,通过第一电子设备在当前无线传输路径上的最大发送速率和估算的其他无线传输路径上的第四发送速率,为与第三电子设备建立的一条无线传输路径上的发送速率上限进行协商,得到当前无线传输路径的协商发送速率。
在第一方面的一种可能的实现方式中,K≥2,上述K条无线传输路径对应K种无线通信连接。该K条无线传输路径上的最大发送速率包括:第一电子设备在K条无线传输路径中每条无线传输路径上的最大发送速率。
在K≥2的情况下,第一电子设备与第三电子设备建立有不同类型的多条无线传输路径。在此数据传输场景下,第一电子设备在K条无线传输路径上的最大发送速率包括第一电子设备在与第三电子设备建立的每条无线传输路径上的最大发送速率。
在第一方面的一种可能的实现方式中,第一电子设备根据K条无线传输路径上的最大发送速率以及第二发送速率,计算第一电子设备在K条无线传输路径中每条无线传输路径上的协商发送速率,可以包括:第一电子设备计算第四发送速率,该第四发送速率等于(N-1)倍的第二发送速率。第一电子设备根据K条无线传输路径中每条无线传输路径上的最大发送速率和第四发送速率,计算K条无线传输路径中每条无线传输路径上的协商发送速率。
在第一电子设备与第三电子设备建立有多种不同类型的无线传输路径的数据传输场景中,第一电子设备可以通过与第三电子设备建立的每条无线传输路径上的最大发送速率,以及估算的其他无线传输路径上的第四发送速率,为第一电子设备在与第三电子设备建立的每条无线传输路径上的发送速率上限进行协商,得到每条无线传输路径的协商发送速率。
在第一方面的一种可能的实现方式中,第一电子设备根据K条无线传输路径中每条无线传输路径上的最大发送速率和所述第四发送速率,计算K条无线传输路径中每条无线传输路径上的协商发送速率,可以包括:第一电子设备按照K个预设权重占比计算K条无线传输路径上的最大发送速率的累加和,得到第五发送速率。K个预设权重占比之和等于1,K个预设权重占比与K条无线传输路径一一对应。第一电子设备计算第五发送速率与第四发送速率的差值,得到第六发送速率。第一电子设备分别计算K个预设权重占比与第六发送速率的乘积,得到K条无线传输路径中每条无线传输路径上的协商发送速率。
通过这种方式,第一电子设备可以考虑不同类型的无线传输通道传输数据的能力不同,从而可以通过对应的预设权重占比为不同类型的无线传输通道分配不同的协商发送速率,使协商发送速率可以适应更加复杂的数据传输需求。
在第一方面的一种可能的实现方式中,第一电子设备根据第一发送速率、N和预配置的预留带宽比例,计算第二发送速率R2,可以采用以下公式:
R2=(R1/N)×q
其中,R1是所述第一发送速率,q是所述预留带宽比例,q<1。
通过上述公式,第一电子设备可以估算N条无线传输路径中一条无线传输路径上的第二发送速率。第一电子设备利用N对第一发送速率进行平均,再乘以预留带宽比例,可以得到第一发送速率。
在第一方面的一种可能的实现方式中,第一电子设备计算在所述K条无线传输路径中每条无线传输路径上的协商发送速率的情况下,第一电子设备可以在向M个第二电子设备发送数据的过程中,周期性计算在K条无线传输路径中每条无线传输路径上的协商发送速率。或者,第一电子设备可以在向M个第二电子设备传输数据的过程中,在第一电子设备或M个第二电子设备的数据传输信息中任一项信息的变化值超过对应的预设变化阈值时,计算在K条无线传输路径中每条无线传输路径上的协商发送速率。
通过这种方式,第一电子设备可以动态调整各个无线传输路径的协商发送速率,使第一电子设备可以在各个无线传输路径上以合适的协商发送速率为第三发送速率的上限传输数据。
在第一方面的一种可能的实现方式中,上述数据传输信息包括以下一项或多项:实时发送速率、实时接收速率以及信号质量信息。
第二方面,本申请提供一种第一电子设备,包括:存储器、通信模块和一个或多个处理器。该存储器、该通信模块与该处理器耦合。通信模块用于与第二电子设备传输数据或信令。存储器中存储有计算机程序代码,该计算机程序代码包括计算机指令,当计算机指令被处理器执行时,使得第一电子设备执行上述第一方面及其任一种可能的实现方式所述的方法。
第三方面,本申请提供一种计算机可读存储介质,包括计算机指令,当所述计算机指令在第一电子设备上运行时,使得第一电子设备执行上述第一方面及其任一种可能的实现方式所述的方法。
第四方面,本申请提供一种包含程序指令的计算机程序产品,当其在计算机上运行时,使得计算机可以执行上述第一方面及其任一种可能的实现方式所述的方法。
附图说明
图1为本申请实施例提供的多个电子设备之间建立的多种无线通信连接的示意图;
图2为本申请实施例提供的一种应用场景下数据传输过程示例的示意图;
图3为本申请实施例提供的笔记本电脑与手机建立P2P连接的示意图;
图4为本申请实施例提供的一种拥塞控制过程示例的示意图;
图5为本申请实施例提供的数据传输场景示例的示意图;
图6为本申请实施例提供的一种第一电子设备示例的结构框图;
图7为本申请实施例提供的一种获取发送速率的方法一示例的流程图;
图8为本申请实施例提供的一种获取发送速率的方法另一示例的流程图。
具体实施方式
本申请实施例提供了一种获取发送速率的方法,可应用于由多个电子设备组成的数据传输系统中。数据传输系统中的多个电子设备之间可以通过无线网络建立有无线通信连接。通过无线通信连接的无线传输路径,多个电子设备之间可以进行数据传输。
数据传输系统中任意两个电子设备建立的一条无线传输通道的无线通信连接有多种。例如,电子设备A与电子设备B可以通过点对点(Peer to Peer,P2P)网络(如WiFi直连(Wireless Fidelity Direct)、蓝牙等)建立一条无线传输通道。如图1所示,电子设备A和电子设备B之间建立有P2P无线通信连接(简称P2P连接)的一条无线传输通道。电子设备A和电子设备B之间不存在其他数据转发的网络节点。电子设备A和电子设备B中的一个电子设备可以作为P2P网络中的组所有者(Group Owner,GO)节点。电子设备A和电子设备B中的另一个电子设备可以作为P2P网络中的组客户端(Group Client,GC)节点。
再例如,电子设备C与电子设备D之间可以通过接入点(Access Point,AP)(如网关、交换机等)提供的无线局域网(Wireless Local Area Network,WLAN)建立一条无线传输通道。如图1所示,电子设备C与电子设备D通过AP建立有WLAN无线通信连接(简称WLAN连接)的一条无线传输通道。电子设备C可以作为接入AP的一个站点(station),电子设备D也可以作为接入该AP的另一个站点。AP可以作为电子设备A和电子设备B之间转发数据的网络节点。
以上述数据传输系统包括手机和笔记本电脑为例。在一个应用场景中,手机和笔记本电脑中均安装有管理应用。该管理应用可以实现当前电子设备与另一个电子设备的协同控制,以及实现当前电子设备与另一个电子设备之间的数据传输。用户通过笔记本电脑中安装的管理应用通过P2P传输路径向手机分享文件。手机和笔记本电脑开启蓝牙和/或WiFi。
这里,笔记本电脑与手机之间可以通过极简传输协议(又称极简协议DSMG)实现数据传输。极简协议将传输控制协议/网际协议(Transmission Control Protocol/InternetProtocol,TCP/IP)协议栈中的四层协议栈(表示层、会话层、传输层、网络层)精简为一层,该层可直接将数据内容封装为数据帧后进行传输,从实现数据的报文简化、包头简化、交互简化,突破TCP/IP协议层层封装的限制,进一步提升了数据传输的效率。
如图2所示,笔记本电脑的管理应用在用户界面中接收用户点击分享文件功能按键的用户操作。响应于用户点击分享文件功能按键的用户操作,管理应用调用极简协议的控制面进行设备发现,查找可以与笔记本电脑实现无线通信连接的电子设备。控制面可以是负责传输控制信令的功能模块。笔记本电脑通过极简协议的控制面在蓝牙通道和/或WiFi通道上广播设备发现消息,与手机极简协议的控制面通信,完成设备发现。
笔记本电脑的控制面在发现手机之后,向管理应用返回手机的通信信息(如IP地址、媒体访问控制(Media Access Control,MAC)地址、设备名等)。管理应用在用户界面中显示查找到的设备图标。假设笔记本电脑查找到平板电脑和手机的情况下,如图3所示,在笔记本电脑的管理应用的用户界面中,笔记本电脑图标的周围,显示有平板电脑的图标和手机的图标,表示与笔记本电脑可以实现无线通信连接设备是平板电脑和手机。
用户可以在笔记本电脑中管理应用的用户界面中选择连接的设备(用户选择设备)。如用户将设备的图标拖动至笔记本电脑的图标一侧,实现选择与笔记本电脑建立通信连接的设备。笔记本电脑的管理应用响应于用户选择手机的用户操作,调用控制面与手机建立P2P连接。笔记本电脑的控制面与手机的控制面建立P2P连接。手机的控制面向手机的管理应用返回笔记本电脑的MAC地址。
在笔记本电脑在与手机建立无线通信连接之后,笔记本电脑通过极简协议向手机发送文件。笔记本电脑可以作为客户端,手机可以作为服务端。客户端和服务器之间可以通过创建套接字实现文件的传输。具体地,笔记本电脑的管理应用利用极简协议的控制面通知手机接收文件。笔记本电脑的控制面向手机的控制面发送文件接收消息,通知手机接收文件。手机的控制面进一步通知手机的管理应用文件接收消息。手机的管理应用通过极简协议中的文件传输协议(D-File)打开文件传输会话。手机通过文件传输协议调用设备对设备(Device to Device,D2D)单元创建D2D连接。D2D单元可以是消息的中转单元。在手机创建D2D连接之后,手机的管理应用通过手机的控制面向笔记本电脑返回确认结果。笔记本电脑的控制面通知笔记本电脑的管理应用手机返回的确认结果。笔记本电脑的管理应用调用极简协议中的文件传输协议打开文件传输会话,并通过文件传输协议调用D2D单元创建D2D连接。
笔记本电脑创建D2D连接之后,笔记本电脑的管理应用通过极简协议中的文件传输协议向手机发送文件名列表,通过文件名列表将待传输文件的文件名发送至手机。手机通过极简协议中的文件传输协议接收文件名列表之后,可以在管理应用的用户界面中显示待传输文件的文件名。手机在用户界面中用户确认接收的用户操作。响应于用户确认接收的用户操作,手机的管理应用通过文件传输协议设置文件存储路径,并通过文件传输协议向笔记本电脑发送文件传输请求。笔记本电脑通过文件传输协议接收手机发送的文件传输请求之后,通过文件传输协议向手机发送待传输文件的文件内容。
在手机完成接收文件内容之后,通过文件传输协议通知笔记本电脑文件接收完成。在文件内容完整的情况下,手机还通过文件传输协议向笔记本电脑发送收到确认消息,通知笔记本电脑文件收到确认。笔记本电脑接收到该收到确认消息之后,可以通过文件传输协议通知管理应用文件发送完成。笔记本电脑的管理应用通过文件传输协议关闭文件传输会话,并通过文件传输协议指示笔记本电脑的D2D单元关闭D2D连接。
相应地,手机向笔记本电脑发送收到确认消息之后,通过文件传输协议通知管理应用文件接收成功。手机的管理应用通过文件传输协议关闭文件传输会话,并通过文件传输协议指示手机的D2D单元关闭D2D连接。同时笔记本电脑和手机销毁文件传输的客户端和服务端,并且断开P2P连接,释放网络资源。
这里,在笔记本电脑向手机传输文件的过程中,为了最大化地利用网络带宽,笔记本电脑可以利用拥塞控制机制以尽可能大的发送速率发送文件。
为了便于理解本申请实施例提供的数据传输方案,本申请实施例这里先介绍相关技术中的数据传输过程。
在数据传输过程中,在无线网络的吞吐量达到一定的限制后,可能会发生拥塞现象。此时发送端发送的数据会因为延迟无法到达接收端。接收端由于超时重传机制会向接收端重新发送数据,使原本拥挤的网络更加拥挤,形成恶性循环。为了减少拥塞现象的发生,在数据传输过程中可以通过一定方式改进数据传输方式。这种数据传输方式避免拥塞现象发生的机制即为拥塞控制机制。
以上述图3所示的笔记本电脑向手机传输数据的应用场景为例。在笔记本电脑向手机传输数据的过程中,笔记本电脑和手机中的一个电子设备可以作为数据传输系统中的客户端,笔记本电脑和手机中的另一个电子设备可以作为数据传输系统中的服务端。为了尽可能地利用网络带宽,减少拥塞现象的发生,笔记本电脑在数据传输过程中利用了拥塞控制机制。在拥塞控制机制的作用下,笔记本电脑可以实时计算各自在无线传输路径上的最大发送速率,进而可以以最大发送速率为上限传输数据。
如图4所示,在笔记本电脑与手机传输数据的过程中,笔记本电脑启动拥塞控制线程。笔记本电脑通过拥塞控制线程以预设的拥塞控制周期(如200毫秒)周期性执行拥塞控制。在一次拥塞控制过程中,笔记本电脑接收来自手机的数据传输信息。笔记本电脑更新存储的手机的数据传输信息,并根据自身的数据传输信息和接收的来自手机的数据传输信息,计算向笔记本电脑发送数据的最大发送速率。在当前拥塞控制周期的下一个拥塞控制周期,笔记本电脑使用当前拥塞控制周期计算得到的最大发送速率作为发送速率的上限,向手机发送数据。
可以理解的是,上述拥塞控制过程中以笔记本电脑作为数据的发送端、手机作为数据的接收端为例进行说明。在数据传输过程中,手机也可以作为数据的发送端向笔记本电脑发送数据。在手机向笔记本电脑传输数据时,手机也可以执行拥塞控制。手机通过来自笔记本电脑的数据传输信息和自身的数据传输信息,周期性计算手机的最大发送速率,并以最大发送速率作为发送速率的上限向笔记本电脑发送数据。手机执行的拥塞控制过程与上述笔记本电脑执行的拥塞控制过程相同,这里不再赘述。
上述数据传输信息可以包括以下一项或多项:实时发送速率、实时接收速率和信号质量信息。其中,信号质量信息可以包括接收信号的强度指示(Received SignalStrength Indicator,RSSI)、信噪比(Signal to Interference plus Noise Ratio,SINR)等。
在一些实现方式中,数据传输信息除了实时发送速率、实时接收速率和信号质量信息之外,还可以包括最大传输单元(Maximum Transmission Unit,MTU)大小、帧聚合个数、有效数据的传输时长、控制信息的传输时长等。
上述最大发送速率可以通过以下公式(1)得到:
Rate=(speedTX×thetaTx/1000×speedRX×thetaRx)/(speedTX×thetaTx+speedRX×thetaRx)公式(1);
其中,Rate表示最大发送速率。speedTX为第一电子设备的实时发送速率,可从第一电子设备的网卡获取,单位为比特每秒(B/s)。thetaTx为实时发送速率speedTX的发送速率因子。speedRX为第二电子设备的实时接收速率,可从第二电子设备的网卡获取,单位为比特每秒(B/s)。thetaRx为实时接收速率speedRX的接收速率因子。
上述发送速率因子thetaTx可以根据speedTX和第一电子设备的MTU大小确定。上述接收速率因子可以根据speedRX和第二电子设备的MTU大小确定。MTU用于表示数据传输时能够接受的数据帧的最大尺寸。
可以理解的是,第一电子设备和第二电子设备是两个不同的电子设备,第一电子设备向第二电子设备传输数据。上述笔记本电脑可以是第一电子设备,手机可以是第二电子设备。
示例性的,thetaTx可以通过公式(2)得到:
thetaTx=1000×(speedTX×8/100×8×MTU1)/(277×speedTX×8+(44+MTU1)×speedTX×8/100×8)公式(2);
其中,speedTX表示第一电子设备的实时发送速率。MTU1表示第一电子设备的MTU大小。MTU1可以根据实际需求进行设置,如设置为1500字节。
示例性的,thetaRx可以通过公式(3)得到:
thetaRx=1000×(speedRX×8/100×8×MTU2)/(277×speedRX×8+(44+MTU2)×speedRX×8/100×8)公式(3);
其中,speedRX表示第二电子设备的实时接收速率。MTU2表示第二电子设备的MTU大小。MTU2可以根据实际需求进行设置,如设置为1500字节。
在另一些示例中,上述发送速率因子中的各个参数可以根据第一电子设备发送数据的有效数据占比、帧聚合数、有效数据的发送时长、控制信息的发送时长、包头数据的长度等信息进行设置。相应地,上述接收速率因子中的各个参数可以根据第二电子设备接收数据的有效数据占比、帧聚合数、有效数据的接收时长、控制信息的接收时长、包头数据的长度等信息进行设置。本申请实施例不对此进行限制。
在上述笔记本电脑与手机的数据传输过程中,笔记本电脑(即第一电子设备)周期性计算在数据传输的无线传输路径上的最大发送速率。如此,笔记本电脑可以以最大发送速率为发送速率的上限向手机(即第二电子设备)传输数据。但是,上述最大发送速率的公式(1)只适合一个电子设备和另一个电子设备之间通过单个物理路径(即无线传输路径)传输数据的情况。无法满足用户对一个电子设备同时向其他多个电子设备传输数据或者一个电子设备同时通过多个不同的无线传输路径向另一个电子设备传输数据的需求。
可以理解的是,在多个无线传输路径的场景下,如果将上述公式(1)计算的最大发送速率作为一个电子设备(如第一电子设备)在每条无线传输路径上的最大发送速率,那么在第一电子设备以每条无线传输路径对应的最大发送速率为上限同时传输数据时,可能会超过第一电子设备传输数据的最大能力。如果将上述公式(1)计算的最大发送速率作为第一电子设备在多条无线传输路径上总的最大发送速率,那么在数据传输过程中多条无线传输路径中一路出现问题,该路的实时发送速率和实时接收速率均会下降。由该路实时发送速率和实时接收速率计算得到的最大发送速率也会下降。该最大发送速率会限制每条无线传输路径的实时发送速率,从而第一电子设备在其他无线传输路径的实时发送速率也会下降。即在多条无线传输路径中的一路出现问题时会使其他无线传输路径也出现问题,发生连锁反应,使传输良好的其他无线传输路径的实时发送速率降低。也就是说,相关技术提供的以最大发送速率为上限传输数据的拥塞控制方式,只适用于一个电子设备与另一个电子设备之间通过单无线传输路径传输数据的场景。
为了实现多路径的拥塞控制,本申请实施例提供一种获取发送速率的方法。该方法中,第一电子设备可以与M个第二电子设备建立多条无线传输路径,M≥1。
第一电子设备可以通过建立的N条无线传输路径同时向M个第二电子设备发送数据,N≥2。对于M个第二电子设备中包括的第三电子设备而言,第一电子设备与该第三电子设备建立有K条无线传输路径,K≥1。M、N和K均为整数。这里以第一电子设备获取该第一电子设备与第三电子设备的K条无线传输路径上的发送速率为例,介绍本申请实施例的方法。
在第一电子设备向第三电子设备传输数据的过程中,第一电子设备可以获取在与第三电子设备建立的每条无线传输路径上的最大发送速率,以及,从第一电子设备的网卡信息中获取第一电子设备的第一发送速率。该第一发送速率是第一电子设备在N条无线传输路径上的发送速率。第一电子设备可以根据第一发送速率、第一电子设备与至少一个第二电子设备建立的多条无线传输路径的数量(即N)以及预配置的预留带宽比例,计算第二发送速率。该第二发送速率是在预留带宽的前提下,第一电子设备估算的N条无线传输路径中一条无线传输路径上的发送速率。进一步地,第一电子设备可以利用第二发送速率对与第三电子设备建立的每条无线传输路径上的最大发送速率进行协商,得到第一电子设备与第三电子设备建立的每条无线传输路径上的协商发送速率。该协商发送速率可以作为对应无线传输路径上发送速率的上限。
通过这种方式,在第一电子设备同时通过多条无线传输路径向至少一个第二电子设备传输数据时,第一电子设备可以通过在N条无线传输路径中每条无线传输路径上估计的发送速率(即第二发送速率),以及,在不考虑第一电子设备与一个第一电子设备建立有无线通信连接之外还与其他第二电子设备建立有无线通信连接的情况下,第一电子设备向每个第二电子设备传输数据的能力上限(即第一电子设备在K条无线传输路径上的最大发送速率),为第一电子设备与每个第二电子设备建立的每条无线传输路径协商出合适的协商发送速率。第一电子设备以每条无线传输路径对应的协商发送速率作为实际发送速率的上限向至少一个第二电子设备发送数据时,第一电子设备不会超过自身最大发送数据的能力。不仅可以满足用户对多传输路径传输数据的需求,还可以在通过多条无线传输路径传输数据的同时,尽可能地利用网络带宽,提高数据传输的效率。
以下介绍本申请实施例可能的几种应用场景:
在数据传输场景一中,M>1,第一电子设备可以与多个第二电子设备分别建立一条无线传输路径。第一电子设备与多个第二电子设备分别建立的无线传输路径可以是相同类型的多个无线传输路径。在该应用场景中,M=N,K=1。例如,上述多个无线传输路径可以是P2P网络的无线传输路径(简称为:P2P传输路径)或者无线局域网(Wireless Local AreaNetwork,WLAN)的无线传输路径(简称为:WLAN传输路径)等。
以M=N=3为例。如图5中的(a)所示,第一电子设备可以与第二电子设备1建立无线传输路径1,与第二电子设备2建立无线传输路径2,与第二电子设备3建立无线传输路径3。图5中的(a)中,以无线传输路径1、无线传输路径2和无线传输路径3是WLAN传输路径为例介绍的。当然,无线传输路径1、无线传输路径2和无线传输路径3也可以是其他类型的无线传输路径,如P2P传输路径。
在该数据传输场景一中,第一电子设备与多个第二电子设备建立了多条无线传输路径。例如,图5中的(a)所示的第一电子设备与第二电子设备1、第二电子设备2和第二电子设备3建立了三条无线传输路径。应用本申请实施例的方法,实现对该多条无线传输路径的拥塞控制。
在数据传输场景二中,M=1,第一电子设备可以与一个第二电子设备建立多条无线传输路径。该多条无线传输路径可以是不同类型的多条无线传输路径。例如,上述多个无线传输路径可以包括P2P传输路径和WLAN传输路径等。在该应用场景中,N=K。
以N=K=2为例。如图5中的(b)所示,第一电子设备可以与第二电子设备建立两条无线传输路径,如无线传输路径a和无线传输路径b。图5中的(b)中,以无线传输路径a是WLAN传输路径,无线传输路径b是P2P传输路径为例介绍的。当然,第一电子设备与第二电子设备之间的无线传输路径还可能包括除P2P传输路径和WLAN传输路径之外其他类似的无线传输路径,本申请实施例这里不再赘述。
在该数据传输场景二中,第一电子设备与一个第二电子设备建立了多条不同类型的无线传输路径。例如,图5中的(b)所示的第一电子设备与第二电子设备建立了两条无线传输路径。应用本申请实施例的方法,实现对该多条无线传输路径的拥塞控制。
在数据传输场景三中,M>1,第一电子设备可以与多个第二电子设备建立多条无线传输路径。第一电子设备与多个第二电子设备中的一个第二电子设备建立有不同类型的多条传输路径。第一电子设备与不同的第二电子设备建立的无线传输路径的类型可以相同,也可以不同。例如,上述多条无线传输路径可以包括P2P传输路径和WLAN传输路径。在该应用场景中,N>M。
以N=4,M=3为例。如图5中的(c)所示,第一电子设备可以与第二电子设备A建立无线传输路径A1和无线传输路径A2这两条无线传输路径,与第二电子设备B建立无线传输路径B,与第二电子设备C建立无线传输路径C。图5中的(c)中,以无线传输路径A1是WLAN传输路径,无线传输路径A2是P2P传输路径,无线传输路径B是WLAN传输路径,无线传输路径C是P2P传输路径为例介绍的。当然,第一电子设备与多个第二电子设备之间的无线传输路径还可能包括除P2P传输路径和WLAN传输路径之外其他类似的无线传输路径,本申请实施例这里不再赘述。
在该数据传输场景三中,第一电子设备与多个第二电子设备建立了多条无线传输路径。例如,图5中的(c)所示的第一电子设备与第二电子设备A、第二电子设备B、第二电子设备C建立了四条无线传输路径。应用本申请实施例的方法,实现对该多条无线传输路径的拥塞控制。
示例性的,本申请实施例中所述的第一电子设备或者第二电子设备可以是手机、平板电脑、桌面型、膝上型、手持计算机、笔记本电脑、超级移动个人计算机(ultra-mobilepersonal computer,UMPC)、上网本,以及蜂窝电话、个人数字助理(personal digitalassistant,PDA)、增强现实(augmented reality,AR)\虚拟现实(virtual reality,VR)设备、媒体播放器、电视机等设备。本申请实施例对第一电子设备和第二电子设备的具体形态不作特殊限制。
本申请实施例中以第一电子设备是手机100为例,通过手机100介绍第一电子设备的硬件结构。如图6所示,手机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等。
其中,处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。处理器110可以是手机100的神经中枢和指挥中心。处理器110可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展手机100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行手机100的各种功能应用以及数据处理。例如,在本申请实施例中,处理器110可以通过执行存储在内部存储器121中的指令,内部存储器121可以包括存储程序区和存储数据区。
其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)、马达191的配置文件等。存储数据区可存储手机100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为手机100供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。在一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
手机100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。在一些实施例中,手机100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得手机100可以通过无线通信技术与网络以及其他设备通信。
天线1和天线2用于发射和接收电磁波信号。手机100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在手机100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(lownoise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。
移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
无线通信模块160可以提供应用在手机100上的包括WLAN(如(wirelessfidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigationsatellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(nearfield communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。手机100可以通过无线通信模块160向其他电子设备发送数据或接收数据,实现数据传输。
无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
手机100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
传感器模块180可以包括压力传感器、陀螺仪传感器、加速度传感器、加速度重力传感器、磁传感器、触摸传感器,环境光传感器和骨传导传感器等传感器。手机100可通过传感器模块180采集各种数据。
手机100通过GPU、显示屏194以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。该显示屏194包括显示面板。
手机100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。ISP用于处理摄像头193反馈的数据。摄像头193用于捕获静态图像或视频。在一些实施例中,手机100可以包括1个或多个摄像头193。
按键190包括开机键、音量键等。按键190可以是机械按键。也可以是触摸式按键。马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和手机100的接触和分离。手机100可以支持1个或多个SIM卡接口。SIM卡接口195可以支持Nano SIM卡,Micro SIM卡,SIM卡等。
可以理解的是,本实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对第一电子设备的结构限定。在另一些实施例中,第一电子设备也可以包括比上述实施例提供的更多或者更少的模块,各个模块之间也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。本申请实施例中提供的第一电子设备的硬件结构也可以参见如图所示的手机100的硬件结构。以下实施例中的方法均可以在具备上述硬件结构的第一电子设备和第二电子设备中实现。
以上述数据传输场景一为例,第一电子设备与多个第二电子设备分别建立一条无线传输路径。同时,第一电子设备与多个第二电子设备分别建立有数据传输会话。第一电子设备在与每个第二电子设备建立的无线传输路径上执行的拥塞控制过程相同。下面以第一电子设备在与多个第二电子设备中的第二电子设备1(即上述第三电子设备)建立的无线传输路径上的拥塞控制过程,对本申请实施例提供的方法进行说明。以第一电子设备是笔记本电脑,第二电子设备1是手机为例,介绍本申请实施例提供的方法。如图7所示,本申请实施例提供的方法包括以下步骤:
S701,笔记本电脑获取在与手机建立的一条无线传输路径上的最大发送速率。
上述最大发送速率是在不考虑其他无线传输路径的情况下,笔记本电脑在与手机建立的无线传输路径上可承受的数据发送的最大速率。笔记本电脑可以在向手机传输数据之前,获取在与手机建立的一条无线传输路径上(如无线传输路径1)的最大发送速率。或者,笔记本电脑可以在向手机传输数据的过程中,获取在该无线传输路径上的最大发送速率。
在一些实现方式中,该最大发送速率可以是预先设定的。笔记本电脑可以在内部存储单元中读取预先设定的最大发送速率。
在一些实现方式中,笔记本电脑可以根据手机的数据传输信息和笔记本电脑的数据传输信息,计算在与手机建立的一条无线传输路径上的最大发送速率。
例如,在笔记本电脑向手机传输数据的过程中,手机可以向笔记本电脑发送数据传输信息。笔记本电脑根据手机的数据传输信息中实时接收速率以及自身的数据传输信息中的实时发送速率,计算在与手机建立的无线传输路径上的最大发送速率。笔记本电脑可以利用上述公式(1)计算得到该最大发送速率。
这里,数据传输信息可以包括实时发送速率、实时接收速率以及信号质量信息中的一项或多项。手机可以向笔记本电脑周期性(如以20毫秒为一个周期)数据传输信息。或者,为了节省功耗,手机可以在数据传输信息的变化值超过预设变化阈值的情况下,向笔记本电脑发送数据传输信息。
可以理解的是,上述数据传输信息可以包括一项或多项信息。在数据传输信息包括多项信息的情况下,每项信息对应一个预设变化阈值。手机可以在数据传输信息中任意一项信息的变化值超过该项信息对应的预设变化阈值的情况下,向笔记本电脑发送数据传输信息。
S702,笔记本电脑从网卡信息中获取笔记本电脑的第一发送速率。
第一发送速率是笔记本电脑在N条无线传输路径上的发送速率。即第一发送速率是笔记本电脑在各个无线传输路径上的发送速率总和。笔记本电脑可以在网卡的网络信息中读取该第一发送速率。例如,在笔记本电脑建立的N条无线传输路径均为WLAN传输路径的情况下,笔记本电脑可以在无线网卡的网卡信息中读取第一发送速率。
可以理解的是,本申请实施例中,笔记本电脑可以先执行上述S701,再执行本步骤。或者,笔记本电脑可以先执行本步骤,再执行上述S701。再或者,笔记本电脑可以同时执行本步骤与上述S701。
S703,笔记本电脑根据第一发送速率、N和预配置的预留带宽比例,计算第二发送速率。
预留带宽比例可以根据实际需求或者实际数据传输场景进行预配置。笔记本电脑在数据传输过程中,很少会满带宽传输数据。通常情况下会预留一部分带宽,以支持笔记本电脑中正在运行或即将运行的其他业务(如访问网页等其他业务)。考虑到数据传输过程中的预留带宽情况下,可以预配置预留带宽比例。预留带宽比例小于1。例如,可以将预留带宽比例预配置为0.9、0.8等数值。
第二发送速率可以是在预留带宽的前提下估算的上述N条无线传输路径中一条无线传输路径上的发送速率。笔记本电脑可以根据第一发送速率、建立的N条无线传输路径的数量(即N)以及预留带宽比例,计算第二发送速率。例如,笔记本电脑可以利用N对第一发送速率进行平均,再乘以或除以该预留带宽比例,得到第一发送速率。
在一些实现方式中,可以采用以下公式(4)计算第二发送速率:
R2 = (R1/N) × q 公式(4);
其中,R2是第二发送速率;R1是第一发送速率;N是无线传输路径的数量;q是预留带宽比例,q<1。
以N=3,预留带宽比例q=0.9为例。第二发送速率R2=(R1/3)×0.9。
S704,笔记本电脑根据在与手机建立的一条无线传输路径上的最大发送速率以及上述第二发送速率,计算笔记本电脑在与手机建立的一条无线传输路径上的协商发送速率。
笔记本电脑得到在与手机建立的一条无线传输路径上(如在无线传输路径1上)的最大发送速率以及上述第二发送速率之后,可以利用第二发送速率对该无线传输路径上的最大发送速率进行协商。例如,笔记本电脑将最大发送速率乘以预设的协商系数(如该协商系数等于上述预留带宽比例)之后,再减去多倍的第二发送速率,得到笔记本电脑在该无线传输路径上的协商发送速率。如此得到的协商发送速率可以为笔记本电脑的其他业务预留带宽。或者,笔记本电脑将最大发送速率减去多倍的第二发送速率,得到笔记本电脑在该无线传输路径上的协商发送速率。该协商发送速率是在考虑到其他无线传输路径的情况下,笔记本电脑在与手机建立的一条无线传输路径(如无线传输路径1)上可承受的数据发送的最大速率。
通过本申请实施例提供的方法,针对笔记本电脑与手机建立的无线传输路径,笔记本电脑可以通过估计的第二发送速率以及笔记本电脑在该无线传输路径上的最大发送速率,协商笔记本电脑在该无线传输路径上传输数据的发送速率。如此,可以使笔记本电脑在每条无线传输路径上以对应的协商发送速率为上限分别向多个第二电子设备传输数据。不仅可以在向多个第二电子设备同时发送数据的数据传输场景中实现拥塞控制,还可以为每条无线传输路径上分配尽可能大的网路带宽。
在一些实现方式中,笔记本电脑在得到与手机建立的无线传输路径1上的协商发送速率之后,可以将该协商发送速率作为在该无线传输路径上发送速率的上限,向手机发送数据。
具体地,如图7所示,在上述S704之后,本申请实施例提供的方法还可以包括S705:
S705,笔记本电脑采用第三发送速率在对应无线传输路径上向手机发送数据,第三发送速率小于或等于协商发送速率。
笔记本电脑在计算得到协商发送速率之后,可以利用该协商发送速率调整笔记本电脑当前在该无线传输路径1上的发送速率,调整后得到第三发送速率。进一步地,笔记本电脑采用第三发送速率在该无线传输路径1上向手机发送数据。
例如,在协商发送速率小于笔记本电脑当前在该无线传输路径1上的发送速率的情况下,笔记本电脑减小当前在该无线传输路径1上的发送速率,得到调整后的第三发送速率,使第三发送速率小于或等于笔记本电脑在该无线传输路径1上的协商发送速率。再例如,在协商发送速率远大于笔记本电脑当前在该无线传输路径1上的发送速率的情况下,笔记本电脑增大当前在该无线传输路径1上的发送速率,得到调整后的第三发送速率,使第三发送速率接近笔记本电脑在该无线传输路径1上的协商发送速率。
通过本申请实施例提供的方法,笔记本电脑可以协商多个无线传输路径上发送数据的发送速率,使笔记本电脑在每条无线传输路径上以尽可能大的第三发送速率向对应的第二电子设备传输数据。不仅适用于同时向多个第二电子设备发送数据的数据传输场景,还可以在数据传输过程中尽可能地利用网络带宽,提高数据传输的效率。
为了使协商发送速率尽可能准确地描述笔记本电脑在与手机建立的一条无线传输路径(如无线传输路径1)上传输数据的能力上限,在一些实现方式中,笔记本电脑可以将最大发送速率减去(N-1)倍的第二发送速率,得到笔记本电脑在该无线传输路径上的协商发送速率。具体地,上述S704可以包括以下步骤:
S7041,笔记本电脑计算第四发送速率。
第四发送速率等于(N-1)倍的第二发送速率。可以理解的是,第二发送速率是在预留带宽的前提下估算的N条无线传输路径中一条无线传输路径上的发送速率。第四发送速率等于(N-1)倍的第二发送速率,可以认为是笔记本电脑估算的N条无线传输路径中(N-1)条无线传输路径的发送速率。
S7042,笔记本电脑计算笔记本电脑与手机的一条无线传输路径上的最大发送速率和第四发送速率的差值,得到笔记本电脑在笔记本电脑与手机的一条无线传输路径上的协商发送速率。
笔记本电脑在计算得到的第四发送速率之后,进一步计算在上述S701中获取的最大发送速率和第四发送速率的差值。该差值可以作为笔记本电脑与手机建立的无线传输路径1上的协商发送速率。
这里,可以采用以下公式(5)计算笔记本电脑在一条无线传输路径上的协商发送速率:
Ri = Ratei - (N-1)×R2 公式(5);
其中,Ri是笔记本电脑建立的第i条无线传输路径上的协商发送速率,第i条无线传输路径是笔记本电脑与手机建立的无线传输路径1,1≤i≤N,i为整数;Ratei是笔记本电脑在第i条无线传输路径上的最大发送速率;R2是笔记本电脑计算得到的第二发送速率,可以由上述公式(4)计算得到;N是笔记本电脑建立的N条无线传输路径的数量。
可以理解的是,由于笔记本电脑在上述S701中获取的最大发送速率Ratei,是在不考虑与手机建立的无线传输路径1之外的其他无线传输路径的情况下,笔记本电脑在无线传输路径1上数据传输的最大速率。但在当前的数据传输场景中,笔记本电脑除了与手机建立的一条无线传输路径之外,还与其他第二电子设备建立有其他无线传输路径(即其他N-1条无线传输路径)。这种情况下,笔记本电脑在无线传输路径1的最大发送速率的基础上,减去笔记本电脑估算的在其他无线传输路径上的发送速率(即上述第四发送速率),可以得到笔记本电脑在与手机建立的无线传输路径1上的协商发送速率。该协商发送速率是笔记本电脑在无线传输路径1上向手机发送数据的速率上限。
如此,考虑到存在与手机建立的无线传输路径1之外其他无线传输路径的情况,笔记本电脑可以为与手机建立的无线传输路径1上的发送速率上限进行协商,得到该无线传输路径1的协商发送速率。笔记本电脑可以将协商发送速率作为笔记本电子在无线传输路径1上传输数据的第三发送速率的上限,以第三发送速率向手机发送数据。
为了在每条无线传输路径上配置合适的协商发送速率,在一些实现方式中,笔记本电脑还可以周期性计算向手机发送数据的无线传输路径上的协商发送速率。即笔记本电脑可以周期性执行上述S701-S704。或者,为了节省笔记本电脑的功耗,笔记本电脑可以在自身或M个第二电子设备的数据传输信息中任一项信息发生变化时,计算在无线传输路径1上的协商发送速率。即笔记本电脑可以在数据传输信息发生变化时重复执行上述S701-S704。具体地,上述S704中,笔记本电脑计算笔记本电脑在与手机建立的一条无线传输路径上的协商发送速率,可以包括以下S704a或S704b:
S704a,在向M个第二电子设备发送数据的过程中,笔记本电脑周期性计算在与手机建立的一条无线传输路径上的协商发送速率。
笔记本电脑在向M个第二电子设备同时发送数据的过程中,针对M个第二电子设备中的手机,笔记本电脑可以周期性计算向手机发送数据的无线传输路径1上的协商发送速率。例如,以20毫秒为一个周期,笔记本电脑每隔20毫秒计算一次无线传输路径1对应的协商发送速率。
S704b,在向M个第二电子设备传输数据的过程中,在笔记本电脑或M个第二电子设备的数据传输信息中任一项信息的变化值超过对应的预设变化阈值时,笔记本电脑计算在与手机建立的一条无线传输路径上的协商发送速率。
针对M个第二电子设备中的手机而言,笔记本电脑可以周期性接收手机的数据传输信息。或者,在手机的数据传输信息中任意一项信息的变化值超过该项信息对应的预设变化阈值的情况下,笔记本电脑接收手机的数据传输信息。笔记本电脑在向M个第二电子设备同时发送数据的过程中,如果自身或M个第二电子设备的数据传输信息中任一项信息的变化值超过该项信息对应的预设变化阈值,笔记本电脑可以重新计算无线传输路径1对应的协商发送速率。
通过这种方式,笔记本电脑为每条无线传输路径上配置合适的协商发送速率,使笔记本电脑可以在各个无线传输路径上以合适的协商发送速率为第三发送速率的上限传输数据。
可以理解的是,在第一电子设备与M个第二电子设备中的每个第二电子设备建立有一条无线传输路径的数据传输场景中,本申请实施例以手机是笔记本电脑(第一电子设备)建立连接的M个第二电子设备中的一个第二电子设备为例,描述了本申请实施例提供的方法。笔记本电脑向其他第二电子设备传输数据的过程与笔记本电脑向手机传输数据的过程相同,这里不再赘述。
下面再以上述数据传输场景二为例,第一电子设备通过多个无线传输路径同时向一个第二电子设备(即上述第三电子设备)传输数据。K≥2,K条无线传输路径对应K种无线通信连接。第一电子设备还与该第二电子设备还建立有数据传输会话。以第一电子设备是的笔记本电脑,该第二电子设备是手机为例,介绍本申请实施例提供的方法。如图8所示,本申请实施例提供的方法可以包括以下步骤:
S801,笔记本电脑获取在K条无线传输路径中每条无线传输路径上的最大发送速率。
笔记本电脑在每条无线传输路径上的最大发送速率,可以是在不考虑其他无线传输路径的情况下,笔记本电脑在当前无线传输路径上可承受的数据发送的最大速率。笔记本电脑可以在向手机传输数据之前,获取K条无线传输路径中每条无线传输路径上的最大发送速率。如笔记本电脑分别获取在无线传输路径a和在无线传输路径b上的最大发送速率。或者,笔记本电脑可以在向手机传输数据的过程中,获取K条无线传输路径中每条无线传输路径上的最大发送速率。如笔记本电脑分别获取在无线传输路径a和在无线传输路径b上的最大发送速率。K为大于或等于2的整数。
在一些实现方式中,最大发送速率可以是预先设定的。笔记本电脑可以在内部存储单元中读取预先设定的每条无线传输路径对应的最大发送速率。不同无线传输路径上的最大发送速率不同,也可以相同。
在一些实现方式中,笔记本电脑可以根据手机的数据传输信息和笔记本电脑的数据传输信息,计算在与手机建立的每条无线传输路径上的最大发送速率。
例如,在笔记本电脑向手机传输数据的过程中,手机可以向笔记本电脑发送数据传输信息。笔记本电脑根据手机的数据传输信息中每条无线传输路径的实时接收速率以及自身的数据传输信息中每条无线传输路径的实时发送速率,计算在与手机建立的K条无线传输路径中每条无线传输路径上的最大发送速率。针对K条无线传输路径中的一条无线传输路径,笔记本电脑可以将手机在该条无线传输路径上的实时接收速率以及笔记本电脑在该条无线传输路径上的实时发送速率,带入上述公式(1)中,计算得到笔记本电脑在该条无线传输路径上的最大发送速率。
S802,笔记本电脑从网卡信息中获取笔记本电脑的第一发送速率。
第一发送速率是笔记本电脑在N条无线传输路径上的发送速率,即第一发送速率是笔记本电脑在各个无线传输路径(如无线传输路径a和无线传输路径b)上的发送速率总和。笔记本电脑可以在网卡的网络信息中读取该第一发送速率。
在一些实现方式中,笔记本电脑的网卡信息中可以记录有笔记本电脑在N条无线传输路径上一个总的实时发送速率,该实时发送速率即是第一发送速率。
在另一些实现方式中,笔记本电脑的网卡信息中包括N种无线通信连接中每种无线通信连接的无线传输路径上的实时发送速率。即每种无线通信连接的无线传输路径对应一个实时发送速率。这种情况下,笔记本电脑可以通过网卡信息中各个无线传输路径上的实时发送速率获取第一发送速率。例如,笔记本电脑在N个无线传输路径上的实时发送速率分别为tx1、tx2、……、txN。第一发送速率R1=tx1+tx2+…+txN。
可以理解的是,本申请实施例中,笔记本电脑可以先执行上述S801,再执行本步骤。或者,笔记本电脑可以先执行本步骤,再执行上述S801。再或者,笔记本电脑可以同时执行本步骤与上述S801。
S803,笔记本电脑根据第一发送速率、N和预配置的预留带宽比例,计算第二发送速率。
本步骤可以参见上述S703中的描述内容,这里不再赘述。
S804,笔记本电脑根据K条无线传输路径上的最大发送速率以及上述第二发送速率,计算在K条无线传输路径中每条无线传输路径上的协商发送速率。
笔记本电脑在K条无线传输路径上的最大发送速率包括笔记本电脑在K条无线传输路径中每条无线传输路径上的最大发送速率。如K=2,笔记本电脑在K条无线传输路径上的最大发送速率包括笔记本电脑在无线传输路径a的最大发送速率和在无线传输路径b的最大发送速率。笔记本电脑可以根据K条无线传输路径中每条无线传输路径上的最大发送速率以及第二发送速率,计算笔记本电脑在每条无线传输路径上的协商发送速率。
例如,笔记本电脑可以对K条无线传输路径上的最大发送速率取平均值。或者,笔记本电脑可以对K条无线传输路径上的最大发送速率取加权平均值。然后再在最大发送速率的平均值或加权平均值的基础上,减去多倍的第二发送速率,得到笔记本电脑在与手机建立的每条无线传输路径上的协商发送速率(如得到笔记本电脑在无线传输路径a上的协商发送速率和笔记本电脑在无线传输路径b上的协商发送速率)。该协商发送速率是在考虑到其他无线传输路径的情况下,笔记本电脑在与手机建立的一条无线传输路径上可承受的数据传输的最大速率。
这里,不同无线传输路径上的协商发送速率可以相同,也可以不同。例如,笔记本电脑可以根据K条无线传输路径中各条无线传输路径的最大发送速率以及上述第二发送速率,得到一个协商发送速率。该协商发送速率可以对应于K条无线传输路径中每条无线传输路径上可承受的数据传输的最大速率。即K条无线传输路径中各条无线传输路径对应的协商发送速率相同。再例如,笔记本电脑可以根据K条无线传输路径中各条无线传输路径的最大发送速率以及上述第二发送速率,得到K个协商发送速率。K个协商发送速率中的任意一个协商发送速率可以对应于K条无线传输路径中的一条无线传输路径。
通过本申请实施例提供的方法,笔记本电脑可以通过估计的第二发送速率以及笔记本电脑在与手机建立的K无线传输路径上的最大发送速率,协商笔记本电脑在每条无线传输路径上传输数据的发送速率。如此,可以使笔记本电脑以每条无线传输路径对应的协商发送速率为上限,同时在多条无线传输路径上向手机传输数据。不仅可以在通过多条无线传输路径向手机同时发送数据的数据传输场景中实现拥塞控制,还可以为每条无线传输路径上分配尽可能大的网路带宽。
在一些实现方式中,笔记本电脑在得到与手机建立的每条无线传输路径上的协商发送速率之后,可以将协商发送速率作为对应无线传输路径上发送速率的上限,向手机发送数据。
具体地,如图8所示,在上述S804之后,本申请实施例提供的方法还可以包括S805:
S805,采用第三发送速率在对应无线传输路径上向手机发送数据,第三发送速率小于或等于协商发送速率。
笔记本电脑在计算得到协商发送速率之后,可以利用协商发送速率调整笔记本电脑与手机建立的每条无线传输路径上的发送速率。调整后可得到笔记本电脑在每条无线传输路径上的第三发送速率。笔记本电脑可采用第三发送速率在对应的无线传输路径上向手机发送数据。
例如,笔记本电脑可以利用无线传输路径a上的协商发送速率调整笔记本电脑在无线传输路径a上的发送速率,得到笔记本电脑在无线传输路径a上的第三发送速率。笔记本电脑可采用在无线传输路径a上的第三发送速率在无线传输路径a上向手机发送数据。同时,笔记本电脑可以利用无线传输路径b上的协商发送速率调整笔记本电脑在无线传输路径b上的发送速率,得到笔记本电脑在无线传输路径b上的第三发送速率。笔记本电脑可采用在无线传输路径b上的第三发送速率在无线传输路径b上向手机发送数据。
通过本申请实施例提供的方法,笔记本电脑在通过多种不同类型的无线传输路径同时向手机发送数据的数据传输场景下,可以对多种不同类型的无线传输路径上的发送速率进行协商,使笔记本电脑在每种无线传输路径上以尽可能大的第三发送速率向手机传输数据。不仅适用于多种类型的无线通信连接,还可以在数据传输过程中尽可能地利用网络带宽,提高数据传输的效率。
为了使协商发送速率尽可能准确地描述笔记本电脑在与手机建立的每条无线传输路径上传输数据的能力上限,在一些实现方式中,笔记本电脑可以通过K条无线传输路径中每条无线传输路径上的最大发送速率以及(N-1)倍的第二发送速率,计算得到笔记本电脑在K条无线传输路径中每条无线传输路径上的协商发送速率。具体地,上述S804中,笔记本电脑根据K条无线传输路径上的最大发送速率以及第二发送速率,计算笔记本电脑在K条无线传输路径中每条无线传输路径上的协商发送速率,可以包括以下步骤:
S8041,笔记本电脑计算第四发送速率。
本步骤可以参见上述S7041中的描述内容,这里不再赘述。
S8042,笔记本电脑根据K条无线传输路径中每条无线传输路径上的最大发送速率和第四发送速率,计算K条无线传输路径中每条无线传输路径上的协商发送速率。
笔记本电脑在计算得到的第四发送速率之后,进一步可以利用第四发送速率和K条无线传输路径中每条无线传输路径上的最大发送速率,计算得到笔记本电脑在每条无线传输路径上的协商发送速率。
在一些可能的实现方式中,笔记本电脑可以对K条无线传输路径中各条无线传输路径上的最大发送速率取平均值或者取加权平均值。然后在最大发送速率的平均值或加权平均值的基础上减去第四发送速率,得到笔记本电脑在K条无线传输路径中每条无线传输路径上的协商发送速率。
由于笔记本电脑在上述S801中获取每条无线传输路径上的最大发送速率,是在不考虑当前无线传输路径之外笔记本电脑与手机还建立有其他无线传输路径的情况下,笔记本电脑在当前无线传输路径上数据传输的最大速率。但在当前的数据传输场景中,笔记本电脑与手机建立有多种不同类型的无线传输路径。这种情况下,笔记本电脑可以对各条无线传输路径上的最大发送速率进行协商,通过各条无线传输路径上的最大发送速率得到笔记本电脑向手机传输数据的最大发送速率(如各条无线传输路径上的最大发送速率的平均值或加权平均值),再减去笔记本电脑估算的在(N-1)条无线传输路径上的发送速率(即第四发送速率),可以得到笔记本电脑在与手机建立的K条无线传输路径中,一条无线传输路径上的协商发送速率。该协商发送速率是笔记本电脑在与手机建立的一条无线传输路径上向手机发送数据的速率上限。
在一些实现方式中,由于不同类型的无线传输路径传输数据的能力不同,本申请实施例中还可以针对不同的无线传输路径配置不同的协商发送速率。具体地,上述S8042可以包括以下步骤:
S80421,笔记本电脑按照K个预设权重占比计算K条无线传输路径上的最大发送速率的累加和,得到第五发送速率。
K个预设权重占比之和等于1。K个预设权重占比与K条无线传输路径一一对应。每个预设权重占比对应一条无线传输路径。各条无线传输路径对应的预设权重占比可以根据实际应用场景或需求进行设置。
这里,可以采用以下公式(6)计算第五发送速率:
R5 = a1×Rate1 + a2×Rate2 + … + aK×RateK 公式(6);
其中,R5是第五发送速率;Rate1、Rate2、……、RateK分别是笔记本电脑与手机建立的K条无线传输路径中第一条无线传输路径的最大发送速率、第二条无线传输路径的最大发送速率、……、第K条无线传输路径的最大发送速率;a1、a2、……、aK分别是第一条无线传输路径对应的预设权重占比、第二条无线传输路径对应的预设权重占比、……、第K条无线传输路径对应的预设权重占比。K是大于或等于2的整数。
以K=2,笔记本电脑与手机建立有无线传输路径a(如WLAN传输路径)和无线传输路径b(如蓝牙传输路径)两条不同类型的无线传输路径为例。对于P2P传输路径上的数据传输而言,相比于WLAN传输路径的数据传输通常会快一些。笔记本电脑可以为P2P传输路径配置较大的预设权重占比,为WLAN传输路径配置较小的预设权重占比。例如,P2P传输路径对应的预设权重占比为80%,WLAN传输路径对应的预设权重占比为20%。假设Rate1表示WLAN传输路径上的最大发送速率,Rate2表示P2P传输路径上的最大发送速率。第五发送速率R5=20%×Rate1+80%×Rate2。
S80422,笔记本电脑计算第五发送速率与第四发送速率的差值,得到第六发送速率。
第五发送速率是由K条无线传输路径上的最大发送速率按预设权重占比累加得到的,可以认为是笔记本电脑在K条无线传输上协商的总的最大发送速率。第四发送速率等于(N-1)倍的第二发送速率,可以认为第四发送速率是笔记本电脑估算的N条无线传输路径中(N-1)条无线传输路径的发送速率。在N=K的情况下,第六发送速率R6=第五发送速率R5-第四发送速率R4。
S80423,笔记本电脑分别计算K个预设权重占比与第六发送速率的乘积,得到K条无线传输路径中每条无线传输路径上的协商发送速率。
由于不同类型的无线传输通道传输数据的能力不同,不同类型的无线传输通道可以通过对应的预设权重占比分配不同的协商发送速率。
当前数据传输场景下,可以采用以下公式(7)计算笔记本电脑在每条无线传输路径上的协商发送速率:
Rj = aj×Rate6 公式(7);
其中,Rj是笔记本电脑在与手机建立的第j条无线传输路径上的协商发送速率,1≤j≤K,j为整数;aj是笔记本电脑在与手机建立的第j条无线传输路径对应的预设权重占比;Rate6是第六发送速率。
以K=2,笔记本电脑与手机建立有一条P2P传输路径和一条WLAN传输路径为例。假设P2P传输路径对应的预设权重占比为80%,WLAN传输路径对应的预设权重占比为20%。P2P传输路径上的协商发送速率等于80%×Rate6。WLAN传输路径上的协商发送速率等于20%×Rate6。
在笔记本电脑通过多种无线通信连接的无线传输路径向手机同时发送数据的数据传输场景下,笔记本电脑可以通过每条无线传输路径对应的预设权重占比,为每种类型的无线传输路径上的发送速率上限进行协商,使笔记本电脑在同时通过多种不同类型的数据传输路径向手机发送数据的同时,还可以尽可能利用网络带宽,提高数据传输的效率。
这里,可以采用以下公式计算上述第六发送速率:
R6 = a1×Rate1 + a2×Rate2 + … + aK×RateK - (N-1)×R2 公式(8);
其中,R6是第六发送速率;Rate1、Rate2、……、RateK分别是笔记本电脑与手机建立的K条无线传输路径中第一条无线传输路径的最大发送速率、第二条无线传输路径的最大发送速率、……、第K条无线传输路径的最大发送速率;a1、a2、……、aK分别是第一条无线传输路径对应的预设权重占比、第二条无线传输路径对应的预设权重占比、……、第K条无线传输路径对应的预设权重占比;R2是笔记本电脑计算得到的第二发送速率,可以由上述公式(4)计算得到;K是笔记本电脑与手机建立的K条无线传输路径的数量;N是笔记本电脑建立的N条无线传输路径的数量,当前数据传输场景中N=K。
在一些实现方式中,笔记本电脑可以忽略不同类型的无线传输路径的数据传输能力,为向手机传输数据的各条无线传输路径配置相同的协商发送速率。具体地,可以将上述S80422中计算得到的第六发送速率作为每条无线传输路径上的协商发送速率。即利用上述公式(8)可求得笔记本电脑在与手机建立的K条无线传输路径中每条无线传输路径上的协商发送速率。不同无线传输路径上的协商发送速率可以相同。如此,笔记本电脑可以为不同类型的无线传输路径配置相同的协商发送速率,使各条无线传输路径以相同的发送速率上限传输数据。
为了在每条无线传输路径上配置合适的协商发送速率,在一些实现方式中,笔记本电脑还可以周期性计算向手机发送数据的每条无线传输路径上的协商发送速率。即笔记本电脑可以周期性执行上述S801-S804。或者,为了节省笔记本电脑的功耗,笔记本电脑可以在自身的数据传输信息或手机的数据传输信息中任一项信息发生变化时,计算向手机发送数据的每条无线传输路径上的协商发送速率。即笔记本电脑可以在数据传输信息发生变化时重复执行上述S801-S804。具体地,上述S804中,笔记本电脑计算在K条无线传输路径中每条无线传输路径上的协商发送速率,可以包括以下S804a或S804b:
S804a,在向手机发送数据的过程中,笔记本电脑周期性计算在与手机建立的一条无线传输路径上的协商发送速率。
笔记本电脑在通过不同类型的K条无线传输路径向手机同时发送数据的过程中,笔记本电脑可以周期性计算K条无线传输路径中每条无线传输路径上的协商发送速率。例如,以20毫秒为一个周期,笔记本电脑每隔20毫秒计算一次在与手机建立的每条无线传输路径上的协商发送速率。
S804b,在向手机传输数据的过程中,在笔记本电脑或手机的数据传输信息中任一项信息的变化值超过对应的预设变化阈值时,笔记本电脑计算在与手机建立的一条无线传输路径上的协商发送速率。
笔记本电脑可以周期性接收手机的数据传输信息。或者,在手机的数据传输信息中任意一项信息的变化值超过该项信息对应的预设变化阈值的情况下,笔记本电脑接收手机的数据传输信息。笔记本电脑在通过不同类型的K条无线传输路径向手机同时发送数据的过程中,如果自身或手机的数据传输信息中任一项信息的变化值超过该项信息对应的预设变化阈值,笔记本电脑可以重新计算K条无线传输路径中每条无线传输路径上的协商发送速率。
通过这种方式,笔记本电脑可以为每条无线传输路径上配置合适的协商发送速率,使各个无线传输路径可以以合适的协商发送速率为第三发送速率的上限传输数据。
可以理解的是,本申请实施例中以第一电子设备通过多条无线传输通道向至少一个第二电子设备发送数据的过程介绍了本申请实施例提供的方法。在实际的数据传输场景中,一个电子设备可能既在发送数据的同时也在接收数据,即第二电子设备也可以同时向多个电子设备发送数据。此时,只需将上述第一电子设备和第二电子设备执行的方法互换即可,本申请实施例中不再赘述。
本申请另一些实施例提供了一种第一电子设备,该第一电子设备包括:存储器、通信模块和一个或多个处理器。该存储器、该通信模块与处理器耦合。该通信模块用于与第二电子设备传输数据或信令。该存储器中存储有计算机程序代码,该计算机程序代码包括计算机指令。当计算机指令被处理器执行时,第一电子设备可执行上述方法实施例中各个功能或者步骤。该第一电子设备的结构可以参考图6所示的手机100的结构。
本申请实施例还提供一种芯片系统,该芯片系统包括至少一个处理器和至少一个接口电路。处理器和接口电路可通过线路互联。例如,接口电路可用于从其它装置(例如第一电子设备的存储器)接收信号。又例如,接口电路可用于向其它装置(例如处理器)发送信号。示例性的,接口电路可读取存储器中存储的指令,并将该指令发送给处理器。当所述指令被处理器执行时,可使得第一电子设备执行上述实施例中的各个步骤。当然,该芯片系统还可以包含其他分立器件,本申请实施例对此不作具体限定。
本申请实施例还提供一种计算机可读存储介质,该计算机存储介质包括计算机指令,当所述计算机指令在上述第一电子设备上运行时,使得该第一电子设备执行上述方法实施例中各个功能或者步骤。
本申请实施例还提供一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行上述方法实施例中各个功能或者步骤。
通过以上实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (12)
1.一种获取发送速率的方法,其特征在于,应用于第一电子设备;所述第一电子设备与M个第二电子设备建立有N条无线传输路径,M≥1,N≥2;所述M个第二电子设备包括第三电子设备,所述第一电子设备与所述第三电子设备建立有K条无线传输路径,K≥1,M、N和K均为整数;所述方法包括:
获取所述第一电子设备在所述K条无线传输路径中每条无线传输路径上的最大发送速率;
从所述第一电子设备的网卡信息中获取所述第一电子设备的第一发送速率;其中,所述第一发送速率是所述第一电子设备在所述N条无线传输路径上的发送速率;
根据所述第一发送速率、所述N和预配置的预留带宽比例,计算第二发送速率;其中,所述预留带宽比例小于1,所述第二发送速率是在预留带宽的前提下,估算的所述N条无线传输路径中一条无线传输路径上的发送速率;
根据所述K条无线传输路径上的最大发送速率,以及所述第二发送速率,计算所述第一电子设备在所述K条无线传输路径中每条无线传输路径上的协商发送速率。
2.根据权利要求1所述的方法,其特征在于,在所述计算所述第一电子设备在所述K条无线传输路径中每条无线传输路径上的协商发送速率之后,所述方法还包括:
采用第三发送速率在对应无线传输路径上向所述第三电子设备发送数据,所述第三发送速率小于或等于所述对应无线传输路径上的协商发送速率。
3.根据权利要求1或2所述的方法,其特征在于,K=1;所述K条无线传输路径上的最大发送速率包括:所述第一电子设备在所述第一电子设备与所述第三电子设备的一条无线传输路径上的最大发送速率。
4.根据权利要求3所述的方法,其特征在于,所述根据所述K条无线传输路径上的最大发送速率,以及所述第二发送速率,计算所述第一电子设备在所述K条无线传输路径中每条无线传输路径上的协商发送速率,包括:
计算第四发送速率;其中,所述第四发送速率等于N-1倍的所述第二发送速率;
计算所述第一电子设备与所述第三电子设备的一条无线传输路径上的最大发送速率和所述第四发送速率的差值,得到所述第一电子设备在所述第一电子设备与所述第三电子设备的一条无线传输路径上的协商发送速率。
5.根据权利要求1至3中任一项所述的方法,其特征在于,K≥2;所述K条无线传输路径对应K种无线通信连接;
所述K条无线传输路径上的最大发送速率包括:所述第一电子设备在所述K条无线传输路径中每条无线传输路径上的最大发送速率。
6.根据权利要求5所述的方法,其特征在于,所述根据所述K条无线传输路径上的最大发送速率,以及所述第二发送速率,计算所述第一电子设备在所述K条无线传输路径中每条无线传输路径上的协商发送速率,包括:
计算第四发送速率;其中,所述第四发送速率等于N-1倍的所述第二发送速率;
根据所述K条无线传输路径中每条无线传输路径上的最大发送速率和所述第四发送速率,计算所述K条无线传输路径中每条无线传输路径上的协商发送速率。
7.根据权利要求6所述的方法,其特征在于,所述根据所述K条无线传输路径中每条无线传输路径上的最大发送速率和所述第四发送速率,计算所述K条无线传输路径中每条无线传输路径上的协商发送速率,包括:
按照K个预设权重占比计算所述K条无线传输路径上的最大发送速率的累加和,得到第五发送速率;其中,所述K个预设权重占比之和等于1,所述K个预设权重占比与所述K条无线传输路径一一对应;
计算所述第五发送速率与所述第四发送速率的差值,得到第六发送速率;
分别计算所述K个预设权重占比与所述第六发送速率的乘积,得到所述K条无线传输路径中每条无线传输路径上的协商发送速率。
8.根据权利要求1-7中任一项所述的方法,其特征在于,所述根据所述第一发送速率、所述N和预配置的预留带宽比例,计算第二发送速率,包括:
采用以下公式:
R2=(R1/N)×q
计算所述第二发送速率R2;其中,R1是所述第一发送速率,q是所述预留带宽比例,q<1。
9.根据权利要求1-8中任一项所述的方法,其特征在于,所述计算所述第一电子设备在所述K条无线传输路径中每条无线传输路径上的协商发送速率,包括:
在向所述M个第二电子设备发送数据的过程中,周期性计算在所述K条无线传输路径中每条无线传输路径上的协商发送速率;或者,
在向所述M个第二电子设备传输数据的过程中,在所述第一电子设备或所述M个第二电子设备的数据传输信息中任一项信息的变化值超过对应的预设变化阈值时,计算在所述K条无线传输路径中每条无线传输路径上的协商发送速率。
10.根据权利要求9所述的方法,其特征在于,所述数据传输信息包括以下一项或多项:实时发送速率、实时接收速率以及信号质量信息。
11.一种第一电子设备,其特征在于,包括:存储器、通信模块和一个或多个处理器;所述存储器、所述通信模块与所述处理器耦合;其中,所述通信模块用于与第二电子设备传输数据或信令;其中,存储器中存储有计算机程序代码,所述计算机程序代码包括计算机指令,当所述计算机指令被所述处理器执行时,使得所述第一电子设备执行如权利要求1-10中任一项所述的方法。
12.一种计算机可读存储介质,其特征在于,包括计算机指令,当所述计算机指令在第一电子设备上运行时,使得所述第一电子设备执行如权利要求1-10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310150533.7A CN117135682B (zh) | 2023-02-09 | 2023-02-09 | 获取发送速率的方法、第一电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310150533.7A CN117135682B (zh) | 2023-02-09 | 2023-02-09 | 获取发送速率的方法、第一电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117135682A true CN117135682A (zh) | 2023-11-28 |
CN117135682B CN117135682B (zh) | 2024-05-14 |
Family
ID=88860616
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310150533.7A Active CN117135682B (zh) | 2023-02-09 | 2023-02-09 | 获取发送速率的方法、第一电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117135682B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9832678B1 (en) * | 2015-01-13 | 2017-11-28 | Syniverse Technologies, Llc | Traffic hub system to provide roaming service in a wireless environment |
CN108476176A (zh) * | 2016-01-15 | 2018-08-31 | 高通股份有限公司 | 在视频电话中的实时传输协议拥塞控制技术 |
WO2022001175A1 (zh) * | 2020-06-29 | 2022-01-06 | 华为技术有限公司 | 数据包发送的方法、装置 |
CN114173314A (zh) * | 2022-02-10 | 2022-03-11 | 荣耀终端有限公司 | 数据传输方法及装置 |
-
2023
- 2023-02-09 CN CN202310150533.7A patent/CN117135682B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9832678B1 (en) * | 2015-01-13 | 2017-11-28 | Syniverse Technologies, Llc | Traffic hub system to provide roaming service in a wireless environment |
CN108476176A (zh) * | 2016-01-15 | 2018-08-31 | 高通股份有限公司 | 在视频电话中的实时传输协议拥塞控制技术 |
WO2022001175A1 (zh) * | 2020-06-29 | 2022-01-06 | 华为技术有限公司 | 数据包发送的方法、装置 |
CN114173314A (zh) * | 2022-02-10 | 2022-03-11 | 荣耀终端有限公司 | 数据传输方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN117135682B (zh) | 2024-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230156855A1 (en) | Method and apparatus for selecting destination address in sidelink, and storage medium | |
EP2803244B1 (en) | Methods and apparatus for establishing a tunneled direct link setup (tdls) session between devices in a wireless network | |
WO2021057429A1 (zh) | 一种数据传输方法及电子设备 | |
CN112291366B (zh) | 数据传输方法、装置、存储介质及电子设备 | |
WO2022143071A1 (zh) | 连接建立方法及电子设备 | |
EP4213512A1 (en) | Screen projection method and system, and electronic device | |
CN108235797A (zh) | 确定路径损耗的方法及装置 | |
CN113784393B (zh) | 一种峰值下载方法和装置 | |
EP4258710A1 (en) | Method for transmitting data in near field, device and system | |
US20240049056A1 (en) | Terminal device, multi-link communication method, and chip | |
CN112306941B (zh) | 一种传输方法、电子设备及存储介质 | |
CN113038627B (zh) | 一种文件分享方法、移动设备、计算机存储介质 | |
WO2022111718A1 (zh) | 一种射频通道的共享方法及相关装置 | |
US20230292364A1 (en) | Bandwidth resource multiplexing method and apparatus, communication device and storage medium | |
WO2023284862A1 (zh) | 一种无线信道资源的管理方法、设备以及系统 | |
CN117135682B (zh) | 获取发送速率的方法、第一电子设备及存储介质 | |
CN110352621A (zh) | 资源分配方法、装置及系统 | |
CN113938165A (zh) | 一种天线适配方法及用户设备 | |
CN110786035A (zh) | 控制资源集合的处理方法、装置及计算机存储介质 | |
CN113939026B (zh) | 用户设备、网络侧设备及无线通信方法 | |
WO2014186583A2 (en) | Wireless station and method for managing a multi-band session in wi-fi direct services | |
EP4113932A1 (en) | Communication method and apparatus | |
CN113383596A (zh) | 网络分配向量的确定方法、装置及存储介质 | |
WO2022267739A1 (zh) | 一种连接探测方法、客户端与服务器 | |
RU2804519C1 (ru) | Способ и устройство для выбора адреса назначения при прямом соединении и носитель информации |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |