CN118353850A - Data packet scheduling method and related device - Google Patents

Data packet scheduling method and related device Download PDF

Info

Publication number
CN118353850A
CN118353850A CN202310094107.6A CN202310094107A CN118353850A CN 118353850 A CN118353850 A CN 118353850A CN 202310094107 A CN202310094107 A CN 202310094107A CN 118353850 A CN118353850 A CN 118353850A
Authority
CN
China
Prior art keywords
window
network link
network
data packet
link
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
CN202310094107.6A
Other languages
Chinese (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.)
Tsinghua University
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tsinghua University
Tencent Technology Shenzhen 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 Tsinghua University, Tencent Technology Shenzhen Co Ltd filed Critical Tsinghua University
Priority to CN202310094107.6A priority Critical patent/CN118353850A/en
Publication of CN118353850A publication Critical patent/CN118353850A/en
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/27Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/0231Traffic management, e.g. flow control or congestion control based on communication conditions
    • H04W28/0236Traffic management, e.g. flow control or congestion control based on communication conditions radio quality, e.g. interference, losses or delay
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/0289Congestion control

Landscapes

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

Abstract

本申请实施例公开了一种数据包调度方法和相关装置,若接收待分配的目标数据包,获取各个网络链路的拥塞窗口的窗口参数。拥塞窗口是在传输过程中所使用的传输协议的变量,其能够适配网络链路的网络状态。根据拥塞窗口的窗口参数确定各个网络链路分别对应的路由概率,即根据拥塞窗口的窗口参数确定各个网络链路被分发目标数据包的概率。拥塞窗口的窗口参数越大,说明对应的网络链路的网络状态越好,故对应的路由概率就越大,以便根据路由概率向网络链路分配目标数据包,使得路由概率越大的网络链路有更多机会被分发目标数据包,从而数据包能够以较大概率分发给网络状况较好的网络链路,进而从整体提高数据包的调度效果,进而提高数据包的传输速度。

The embodiment of the present application discloses a data packet scheduling method and related devices. If a target data packet to be allocated is received, the window parameters of the congestion window of each network link are obtained. The congestion window is a variable of the transmission protocol used in the transmission process, which can adapt to the network state of the network link. The routing probabilities corresponding to each network link are determined according to the window parameters of the congestion window, that is, the probability of each network link being distributed with the target data packet is determined according to the window parameters of the congestion window. The larger the window parameter of the congestion window, the better the network state of the corresponding network link, so the corresponding routing probability is greater, so as to allocate the target data packet to the network link according to the routing probability, so that the network link with a larger routing probability has more opportunities to be distributed with the target data packet, so that the data packet can be distributed to the network link with a better network condition with a greater probability, thereby improving the scheduling effect of the data packet as a whole, and then improving the transmission speed of the data packet.

Description

一种数据包调度方法和相关装置A data packet scheduling method and related device

技术领域Technical Field

本申请涉及计算机技术领域,特别是涉及一种数据包调度方法和相关装置。The present application relates to the field of computer technology, and in particular to a data packet scheduling method and related devices.

背景技术Background technique

随着计算机技术的发展,设备之间的访问可以通过设备包括多种网络接入方式实现。例如,移动互联网用户可以通过终端设备包括的移动热点(Wi-Fi)、长期演进(LongTerm Evolution,LTE)和第五代移动通信技术(5th Generation Mobile CommunicationTechnology,5G)等多种网络接入方式访问云服务器中的各种应用。With the development of computer technology, access between devices can be achieved through devices including multiple network access methods. For example, mobile Internet users can access various applications in cloud servers through terminal devices including mobile hotspots (Wi-Fi), Long Term Evolution (LTE) and the fifth generation mobile communication technology (5G).

在访问的过程中,一般会使用网络链路进行数据传输。但是,单个网络链路的带宽有限,且时延不稳定等原因,导致数据传输速度较慢。基于此,相关技术中一般采用多个网络链路进行数据传输。例如,将一个视频打包为多个数据包,多个数据包通过多个网络链路分别进行传输,从而提高数据传输速度。In the process of access, network links are generally used for data transmission. However, the bandwidth of a single network link is limited, and the delay is unstable, resulting in a slow data transmission speed. Based on this, multiple network links are generally used for data transmission in related technologies. For example, a video is packaged into multiple data packets, and the multiple data packets are transmitted separately through multiple network links, thereby improving the data transmission speed.

但是,相关技术中多路径数据包的调度方法一般适用于有线网络,而由于无线网络或移动网络存在异构性和动态性等特点,导致相关技术中多路径数据包的调度方法无法适用于无线网络或移动网络。However, the scheduling method of multi-path data packets in the related art is generally applicable to wired networks. However, due to the heterogeneity and dynamic characteristics of wireless networks or mobile networks, the scheduling method of multi-path data packets in the related art cannot be applied to wireless networks or mobile networks.

发明内容Summary of the invention

为了解决上述技术问题,本申请提供了一种数据包调度方法和相关装置,用于解决多路径的数据包调度方法无法适用于无线网络或移动网络的问题。In order to solve the above technical problems, the present application provides a data packet scheduling method and related devices, which are used to solve the problem that the multi-path data packet scheduling method cannot be applied to wireless networks or mobile networks.

本申请实施例公开了如下技术方案:The embodiments of the present application disclose the following technical solutions:

一方面,本申请实施例提供一种数据包调度方法,所述方法包括:On the one hand, an embodiment of the present application provides a data packet scheduling method, the method comprising:

若接收待分配的目标数据包,则获取多个网络链路分别对应的拥塞窗口的窗口参数,所述网络链路为用于传输所述目标数据包的通道,所述拥塞窗口的窗口参数用于描述对应的网络链路的网络状态;If a target data packet to be allocated is received, then window parameters of congestion windows corresponding to a plurality of network links are obtained, wherein the network links are channels for transmitting the target data packet, and the window parameters of the congestion windows are used to describe the network status of the corresponding network links;

根据多个所述拥塞窗口的窗口参数,确定所述多个网络链路分别对应的路由概率,所述路由概率用于描述对应的网络链路被分发所述目标数据包的概率;其中,所述拥塞窗口的窗口参数越大,对应的路由概率越大;Determine, according to the window parameters of the multiple congestion windows, the routing probabilities corresponding to the multiple network links respectively, wherein the routing probabilities are used to describe the probabilities of the corresponding network links being distributed with the target data packets; wherein the larger the window parameter of the congestion window is, the larger the corresponding routing probability is;

根据多个所述路由概率,向所述多个网络链路分发所述目标数据包。Distribute the target data packet to the plurality of network links according to the plurality of routing probabilities.

另一方面,本申请实施例提供一种数据包调度装置,所述装置包括:获取单元、确定单元和发送单元;On the other hand, an embodiment of the present application provides a data packet scheduling device, the device comprising: an acquisition unit, a determination unit, and a sending unit;

所述获取单元,用于若接收待分配的目标数据包,则获取多个网络链路分别对应的拥塞窗口的窗口参数,所述网络链路为用于传输所述目标数据包的通道,所述拥塞窗口的窗口参数用于描述对应的网络链路的网络状态;The acquisition unit is used to acquire window parameters of congestion windows corresponding to a plurality of network links respectively if receiving a target data packet to be allocated, wherein the network link is a channel for transmitting the target data packet, and the window parameters of the congestion window are used to describe the network status of the corresponding network link;

所述确定单元,用于根据多个所述拥塞窗口的窗口参数,确定所述多个网络链路分别对应的路由概率,所述路由概率用于描述对应的网络链路被分发所述目标数据包的概率;其中,所述拥塞窗口的窗口参数越大,对应的路由概率越大;The determining unit is used to determine the routing probabilities corresponding to the plurality of network links respectively according to the window parameters of the plurality of congestion windows, wherein the routing probabilities are used to describe the probabilities of the corresponding network links being distributed with the target data packets; wherein the larger the window parameter of the congestion window is, the larger the corresponding routing probability is;

所述发送单元,用于根据多个所述路由概率,向所述多个网络链路分发所述目标数据包。The sending unit is used to distribute the target data packet to the multiple network links according to the multiple routing probabilities.

另一方面,本申请实施例提供一种计算机设备,所述计算机设备包括处理器以及存储器:On the other hand, an embodiment of the present application provides a computer device, the computer device comprising a processor and a memory:

所述存储器用于存储计算机程序,并将所述计算机程序传输给所述处理器;The memory is used to store a computer program and transmit the computer program to the processor;

所述处理器用于根据所述计算机程序中的指令执行上述方面所述的方法。The processor is configured to execute the method described in the above aspects according to the instructions in the computer program.

另一方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行上述方面所述的方法。On the other hand, an embodiment of the present application provides a computer-readable storage medium, wherein the computer-readable storage medium is used to store a computer program, and the computer program is used to execute the method described in the above aspects.

另一方面,本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方面所述的方法。On the other hand, an embodiment of the present application provides a computer program product or a computer program, which includes computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device executes the method described in the above aspects.

由上述技术方案可以看出,若接收待分配的目标数据包,则需要将目标数据包分发至网络链路进行传输,此时获取各个网络链路的拥塞窗口的窗口参数。其中,拥塞窗口是在传输过程中所使用的传输协议的变量,其能够适配网络链路的网络状态,即通过拥塞窗口的窗口参数能够全面的反应出各个网络链路的网络状态。根据拥塞窗口的窗口参数确定各个网络链路分别对应的路由概率,即根据拥塞窗口的窗口参数确定各个网络链路被分发目标数据包的概率。其中,拥塞窗口的窗口参数越大,说明对应的网络链路的网络状态越好,故对应的路由概率就越大,以便根据路由概率向网络链路分配目标数据包,使得路由概率越大的网络链路有更多机会被分发目标数据包。由此,通过拥塞窗口的窗口参数确定路由概率,根据路由概率分发待分配的数据包,使得数据包能够以较大概率分发给网络状况较好的网络链路,从而从整体提高数据包的调度效果,进而提高数据包的传输速度。此外,由于拥塞窗口的窗口参数是根据网络链路的网络状态实时调整的,故能够较为准确的检测无线链路的网络状态变化,而且各个网络链路的路由概率是分别计算,有效适应移动网络或无线网络的异构性和动态性。It can be seen from the above technical solution that if a target data packet to be allocated is received, the target data packet needs to be distributed to the network link for transmission, and the window parameters of the congestion window of each network link are obtained at this time. Among them, the congestion window is a variable of the transmission protocol used in the transmission process, which can adapt to the network state of the network link, that is, the network state of each network link can be fully reflected through the window parameters of the congestion window. According to the window parameters of the congestion window, the routing probabilities corresponding to each network link are determined, that is, the probability of each network link being distributed with the target data packet is determined according to the window parameters of the congestion window. Among them, the larger the window parameter of the congestion window, the better the network state of the corresponding network link, so the corresponding routing probability is greater, so as to allocate the target data packet to the network link according to the routing probability, so that the network link with a larger routing probability has more opportunities to be distributed with the target data packet. Thus, the routing probability is determined by the window parameters of the congestion window, and the data packet to be allocated is distributed according to the routing probability, so that the data packet can be distributed to the network link with a better network condition with a greater probability, thereby improving the scheduling effect of the data packet as a whole, and then improving the transmission speed of the data packet. In addition, since the window parameters of the congestion window are adjusted in real time according to the network status of the network link, it is possible to more accurately detect changes in the network status of the wireless link, and the routing probability of each network link is calculated separately, effectively adapting to the heterogeneity and dynamics of mobile networks or wireless networks.

附图说明BRIEF DESCRIPTION OF THE DRAWINGS

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.

图1为本申请实施例提供的数据包调度方法的应用场景示意图;FIG1 is a schematic diagram of an application scenario of a data packet scheduling method provided in an embodiment of the present application;

图2为本申请实施例提供的数据包调度方法的流程示意图;FIG2 is a schematic diagram of a flow chart of a data packet scheduling method provided in an embodiment of the present application;

图3为本申请实施例提供的一种数据包调度方法的应用场景示意图;FIG3 is a schematic diagram of an application scenario of a data packet scheduling method provided in an embodiment of the present application;

图4为本申请实施例提供的一种数据包调度系统的示意图;FIG4 is a schematic diagram of a data packet scheduling system provided in an embodiment of the present application;

图5为本申请实施例提供的一种数据包的调度方法的流程图;FIG5 is a flow chart of a method for scheduling data packets provided in an embodiment of the present application;

图6为本申请实施例提供的一种数据包的调度方法的流程图;FIG6 is a flow chart of a method for scheduling data packets provided in an embodiment of the present application;

图7为本申请实施例提供的一种数据包调度装置的结构示意图;FIG7 is a schematic diagram of the structure of a data packet scheduling device provided in an embodiment of the present application;

图8为本申请实施例提供的服务器的结构示意图;FIG8 is a schematic diagram of the structure of a server provided in an embodiment of the present application;

图9为本申请实施例提供的终端设备的结构示意图。FIG. 9 is a schematic diagram of the structure of a terminal device provided in an embodiment of the present application.

具体实施方式Detailed ways

下面结合附图,对本申请的实施例进行描述。The embodiments of the present application are described below in conjunction with the accompanying drawings.

多条网络链路一般具有不同的参数,如时延、带宽和抖动等,使得多条网络链路具备不同的传输能力,或者说各个网络链路的网络状态存在差异,即无线网络或移动网络存在异构性的特点,而且由于网络状态的不稳定性,网络链路在不同时间会动态变化,即无线网络或移动网络存在动态性的特点。此外,对于无线网络链路还受无线网络信号强度影响,易受周围介质的干扰,在移动环境下由于与基站或热点的距离变化导致信号强度有很大不确定性,所以相比有线链路状态更加不稳定。从而相关技术中适用于有线网络多路径数据包的调度方法,无法适用于无线网络或移动网络。Multiple network links generally have different parameters, such as delay, bandwidth, and jitter, which make multiple network links have different transmission capabilities, or the network status of each network link is different, that is, wireless networks or mobile networks have heterogeneous characteristics, and due to the instability of the network status, the network links will change dynamically at different times, that is, wireless networks or mobile networks have dynamic characteristics. In addition, wireless network links are also affected by the strength of wireless network signals and are susceptible to interference from surrounding media. In a mobile environment, the signal strength has great uncertainty due to changes in the distance from the base station or hotspot, so it is more unstable than the wired link state. Therefore, the scheduling method for multi-path data packets in the related art that is applicable to wired networks cannot be applied to wireless networks or mobile networks.

基于此,本申请实施例提供一种数据包的调度方法和相关装置,通过拥塞窗口的窗口参数确定路由概率,根据路由概率分发待分配的数据包,由于拥塞窗口的窗口参数是根据网络链路的网络状态实时调整的,故能够较为准确的检测无线链路的网络状态变化,而且各个网络链路的路由概率是分别计算,有效适应移动网络或无线网络的异构性和动态性。Based on this, the embodiments of the present application provide a data packet scheduling method and related devices, which determine the routing probability through the window parameters of the congestion window, and distribute the data packets to be allocated according to the routing probability. Since the window parameters of the congestion window are adjusted in real time according to the network status of the network link, it is possible to more accurately detect changes in the network status of the wireless link, and the routing probability of each network link is calculated separately, which effectively adapts to the heterogeneity and dynamics of mobile networks or wireless networks.

本申请实施例提供的数据包调度方法可以应用于具有数据处理能力的数据包调度设备,如终端设备、服务器。其中,终端设备包括但不限于手机、电脑、智能语音交互设备、智能家电、车载终端、飞行器等。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。本申请实施例可应用于各种场景,包括但不限于云技术、人工智能、智慧交通、辅助驾驶等。The data packet scheduling method provided in the embodiment of the present application can be applied to data packet scheduling devices with data processing capabilities, such as terminal devices and servers. Among them, terminal devices include but are not limited to mobile phones, computers, intelligent voice interaction devices, smart home appliances, vehicle-mounted terminals, aircraft, etc. The server can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server providing cloud computing services. The terminal and the server can be directly or indirectly connected via wired or wireless communication, and this application is not limited here. The embodiments of the present application can be applied to various scenarios, including but not limited to cloud technology, artificial intelligence, smart transportation, assisted driving, etc.

本申请实施例提供的数据包调度方法是基于云计算技术实现的,云技术(Cloudtechnology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。The data packet scheduling method provided in the embodiment of the present application is implemented based on cloud computing technology. Cloud technology refers to a hosting technology that unifies a series of resources such as hardware, software, and network in a wide area network or a local area network to realize data calculation, storage, processing, and sharing.

云技术(Cloud technology)基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。Cloud technology is a general term for network technology, information technology, integration technology, management platform technology, application technology, etc. based on the cloud computing business model. It can form a resource pool, which is used on demand and is flexible and convenient. Cloud computing technology will become an important support. The backend services of the technical network system require a large amount of computing and storage resources, such as video websites, picture websites and more portal websites. With the rapid development and application of the Internet industry, each item may have its own identification mark in the future, and all need to be transmitted to the backend system for logical processing. Data of different levels will be processed separately. All kinds of industry data need strong system backing support, which can only be achieved through cloud computing.

在本申请实施例中,可以将数据包调度方法应用在对带宽、时延和稳定性有很高要求的场景中,如在线教育、电商直播、云游戏等。其中,云游戏(Cloud gaming)又可称为游戏点播(gaming on demand),是一种以云计算技术为基础的在线游戏技术。云游戏技术使图形处理与数据运算能力相对有限的轻端设备(thin client)能运行高品质游戏。在云游戏场景下,游戏并不在玩家游戏终端,而是在云端服务器中运行,并由云端服务器将游戏场景渲染为视频音频流,通过网络传输给玩家游戏终端。玩家游戏终端无需拥有强大的图形运算与数据处理能力,仅需拥有基本的流媒体播放能力与获取玩家输入指令并发送给云端服务器的能力即可。In an embodiment of the present application, the data packet scheduling method can be applied to scenarios with high requirements for bandwidth, latency and stability, such as online education, e-commerce live broadcast, cloud gaming, etc. Among them, cloud gaming (Cloud gaming), which can also be called gaming on demand, is an online gaming technology based on cloud computing technology. Cloud gaming technology enables thin clients with relatively limited graphics processing and data computing capabilities to run high-quality games. In a cloud gaming scenario, the game is not run on the player's game terminal, but on a cloud server, and the cloud server renders the game scene into a video and audio stream, which is transmitted to the player's game terminal through the network. The player's game terminal does not need to have powerful graphics computing and data processing capabilities, but only needs to have basic streaming media playback capabilities and the ability to obtain player input instructions and send them to the cloud server.

为了便于理解本申请实施例提供的数据包调度方法,下面以该数据包调度方法的执行主体为服务器为例,对该数据包调度方法的应用场景进行示例性介绍。To facilitate understanding of the data packet scheduling method provided in the embodiment of the present application, the application scenario of the data packet scheduling method is executored as a server as an example to executor of the data packet scheduling method.

参见图1,该图为本申请实施例提供的数据包调度方法的应用场景示意图。如图1所示,该应用场景中包括多个终端设备110和服务器120。其中,终端设备110可以安装视频源客户端,从而通过视频源客户端上传视频至服务器120。服务器120作为摄取服务器,可以接收并存储终端设备110上传的视频。Referring to FIG. 1 , this figure is a schematic diagram of an application scenario of the data packet scheduling method provided in an embodiment of the present application. As shown in FIG. 1 , the application scenario includes multiple terminal devices 110 and a server 120. Among them, the terminal device 110 can be installed with a video source client, so as to upload a video to the server 120 through the video source client. The server 120, as an ingest server, can receive and store the video uploaded by the terminal device 110.

以多个终端设备110中的一个终端设备为例,终端设备110接收待分配的目标数据包后,需要将目标数据包上传至服务器120。由于存在两个网络链路均可以上传目标数据包,故在上传目标数据包之前,终端设备110需要确定通过哪一个网络链路进行上传,以保证传输性能。Taking one of the multiple terminal devices 110 as an example, after receiving the target data packet to be distributed, the terminal device 110 needs to upload the target data packet to the server 120. Since there are two network links that can upload the target data packet, before uploading the target data packet, the terminal device 110 needs to determine which network link to upload through to ensure transmission performance.

其中,两条网络链路分别是网络链路一:Wi-Fi路径和网络链路二:LTE/5G路径。终端设备110在接收目标数据包后,获取两条网络链路分别对应的拥塞窗口的窗口参数,该窗口参数用于描述对应的网络链路的网络状态。例如,网络链路一的拥塞窗口的窗口参数为4096字节,网络链路二的拥塞窗口的窗口参数为2048字节。Among them, the two network links are network link 1: Wi-Fi path and network link 2: LTE/5G path. After receiving the target data packet, the terminal device 110 obtains the window parameters of the congestion windows corresponding to the two network links, respectively, and the window parameters are used to describe the network status of the corresponding network links. For example, the window parameter of the congestion window of network link 1 is 4096 bytes, and the window parameter of the congestion window of network link 2 is 2048 bytes.

终端设备110根据拥塞窗口的窗口参数确定各个网络链路分别对应的路由概率。例如,网络链路一的路由概率为0.7,网络链路二的路由概率为0.3。需要说明的是,拥塞窗口是在传输过程中所使用的传输协议的变量,其能够适配网络链路的网络状态。故拥塞窗口的窗口参数越大,说明对应的网络链路的网络状态越好,故对应的路由概率就越大,从而终端设备110根据路由概率向网络链路分配目标数据包,使得路由概率越大的网络链路有更多机会被分发目标数据包。例如,在图1的应用场景中,终端设备110会通过网络链路一向服务器120发送目标数据包。The terminal device 110 determines the routing probabilities corresponding to each network link according to the window parameters of the congestion window. For example, the routing probability of network link one is 0.7, and the routing probability of network link two is 0.3. It should be noted that the congestion window is a variable of the transmission protocol used in the transmission process, which can adapt to the network status of the network link. Therefore, the larger the window parameter of the congestion window, the better the network status of the corresponding network link, and the larger the corresponding routing probability, so the terminal device 110 allocates the target data packet to the network link according to the routing probability, so that the network link with a larger routing probability has more opportunities to distribute the target data packet. For example, in the application scenario of Figure 1, the terminal device 110 sends the target data packet to the server 120 through network link one.

由此,通过拥塞窗口的窗口参数确定路由概率,根据路由概率分发待分配的数据包,使得数据包能够以较大概率分发给网络状况较好的网络链路,从而从整体提高数据包的调度效果,进而提高数据包的传输速度。此外,由于拥塞窗口的窗口参数是根据网络链路的网络状态实时调整的,故能够较为准确的检测无线链路的网络状态变化,而且各个网络链路的路由概率是分别计算,有效适应移动网络或无线网络的异构性和动态性。Therefore, the routing probability is determined by the window parameters of the congestion window, and the data packets to be allocated are distributed according to the routing probability, so that the data packets can be distributed to the network links with better network conditions with a greater probability, thereby improving the overall scheduling effect of the data packets and further improving the transmission speed of the data packets. In addition, since the window parameters of the congestion window are adjusted in real time according to the network status of the network link, the network status changes of the wireless link can be detected more accurately, and the routing probability of each network link is calculated separately, which effectively adapts to the heterogeneity and dynamics of the mobile network or wireless network.

本申请实施例所提供的数据包调度方法可以由服务器执行。但是,在本申请的其它实施例中,终端设备也可以与服务器具有相似的功能,从而执行本申请实施例所提供的数据包调度方法,或者由终端设备和服务器共同执行本申请实施例所提供的数据包调度方法,本实施例对此不做限定。The data packet scheduling method provided in the embodiment of the present application can be executed by the server. However, in other embodiments of the present application, the terminal device can also have similar functions as the server, thereby executing the data packet scheduling method provided in the embodiment of the present application, or the terminal device and the server jointly execute the data packet scheduling method provided in the embodiment of the present application, which is not limited in the present embodiment.

下面通过方法实施例对本申请提供的数据包调度方法进行详细介绍。The data packet scheduling method provided by the present application is described in detail below through a method embodiment.

参见图2,该图为本申请实施例提供的数据包调度方法的流程示意图。为了便于描述,下述实施例仍以该数据包调度方法的执行主体为终端设备为例进行介绍。如图2所示,该数据包调度方法包括以下步骤:See Figure 2, which is a flow chart of the data packet scheduling method provided in the embodiment of the present application. For ease of description, the following embodiment is still introduced by taking the execution subject of the data packet scheduling method as a terminal device as an example. As shown in Figure 2, the data packet scheduling method includes the following steps:

S201:若接收待分配的目标数据包,则获取多个网络链路分别对应的拥塞窗口的窗口参数。S201: If a target data packet to be allocated is received, then window parameters of congestion windows corresponding to a plurality of network links are obtained.

在实际应用中,作为发送端的终端设备一般具有多个端口,每个端口连接一个网络链路,例如,手机中的Wi-Fi端口、用户识别模块(Subscriber Identity Module,SIM卡)端口等均与对应的网络链路连接。由于多个网络链路一般具有不同的参数,使得多个网络链路具备不同的传输能力,而且网络链路在不同时间会动态变化,即无线网络或移动网络存在异构性和动态性的特点。为了保证数据传输性能,需要在获得数据包后选择网络状态较好的网络链路。网络状态一般是指网络上传数据包的情况,是否阻塞等。In actual applications, the terminal device as the sending end generally has multiple ports, each port is connected to a network link. For example, the Wi-Fi port and the Subscriber Identity Module (SIM card) port in the mobile phone are all connected to the corresponding network link. Since multiple network links generally have different parameters, multiple network links have different transmission capabilities, and the network links will change dynamically at different times, that is, wireless networks or mobile networks have the characteristics of heterogeneity and dynamism. In order to ensure data transmission performance, it is necessary to select a network link with a better network status after obtaining the data packet. The network status generally refers to the situation of the network uploading data packets, whether it is blocked, etc.

下面以多个数据包中的目标数据包为例,该目标数据包是待分配网络链路的数据包,在分配网络链路后,通过网络链路发送给作为接收端的终端设备或服务器。其中,网络链路为用于传输目标数据包的通道。The target data packet among multiple data packets is taken as an example below. The target data packet is a data packet to be allocated a network link. After the network link is allocated, it is sent to a terminal device or server as a receiving end through the network link. The network link is a channel for transmitting the target data packet.

相关技术中,一般会基于带宽、往返时延(Round Trip Time,RTT)和丢包等网络特征的变化情况确定网络状态,但是带宽、RTT和丢包等网络特征仅能反映网络状态的一个侧面,如基于RTT只能最小化整体时延,不能调节带宽,即不能全面的反映网络状态,而且,难以准确估计剧烈波动的无线链路的情况,例如,在网络信号不好或严重阻塞时各种网络特征的变化幅度非常大,仅基于一个网络特征无法准确估计当前的网络状态。In the related art, the network status is generally determined based on changes in network characteristics such as bandwidth, round trip time (RTT) and packet loss. However, network characteristics such as bandwidth, RTT and packet loss can only reflect one aspect of the network status. For example, based on RTT, only the overall delay can be minimized, and the bandwidth cannot be adjusted, that is, the network status cannot be fully reflected. Moreover, it is difficult to accurately estimate the situation of a wireless link that fluctuates violently. For example, when the network signal is poor or severely blocked, the changes in various network characteristics are very large, and the current network status cannot be accurately estimated based on only one network characteristic.

基于此,本申请实施例采用网络链路的拥塞窗口的窗口参数确定网络状态。其中,拥塞窗口是指在一个单位时间内能发多少数据包,是一个拥塞避免的窗口,是一个位于发送端的可滑动窗口,拥塞窗口的大小取决于网络的拥塞程度,并且动态地在变化。发送端控制拥塞窗口的原则是:只要网络没有出现拥塞,拥塞窗口就再增大一些,以便把更多的数据包发送出去。但只要网络出现拥塞,拥塞窗口就减少一些。由此,拥塞窗口的窗口参数能够体现拥塞窗口的大小,且能够描述对应的网络链路的网络状态。Based on this, the embodiment of the present application uses the window parameters of the congestion window of the network link to determine the network state. Among them, the congestion window refers to how many data packets can be sent in a unit of time. It is a congestion avoidance window and a sliding window located at the sending end. The size of the congestion window depends on the degree of congestion of the network and changes dynamically. The principle of the sending end to control the congestion window is: as long as there is no congestion in the network, the congestion window will be increased to send more data packets. However, as long as congestion occurs in the network, the congestion window will be reduced. Therefore, the window parameters of the congestion window can reflect the size of the congestion window and can describe the network state of the corresponding network link.

需要说明的是,拥塞窗口是在传输过程中所使用的传输协议的变量,其能够适配网络链路的网络状态,即通过拥塞窗口的窗口参数能够全面的反应出各个网络链路的网络状态。而网络特征是网络状态的一个指标,只能体现网络状态的一个侧面。由此,采用拥塞窗口的窗口参数确定出的网络状态更为准确。It should be noted that the congestion window is a variable of the transmission protocol used in the transmission process, which can adapt to the network status of the network link, that is, the window parameters of the congestion window can fully reflect the network status of each network link. The network characteristic is an indicator of the network status and can only reflect one aspect of the network status. Therefore, the network status determined by the window parameters of the congestion window is more accurate.

S202:根据多个拥塞窗口的窗口参数,确定多个网络链路分别对应的路由概率。S202: Determine routing probabilities corresponding to a plurality of network links respectively according to window parameters of a plurality of congestion windows.

由前述可知,拥塞窗口的窗口参数能够体现拥塞窗口的大小,且能够描述对应的网络链路的网络状态。例如,可以将最后一次调整的拥塞窗口的窗口值作为窗口参数,还可以将一段时间内的多次调整的拥塞窗口的窗口值的平均值作为窗口参数等,本申请实施例对此不做具体限定。As can be seen from the foregoing, the window parameter of the congestion window can reflect the size of the congestion window and can describe the network status of the corresponding network link. For example, the window value of the congestion window adjusted for the last time can be used as the window parameter, and the average value of the window value of the congestion window adjusted multiple times within a period of time can also be used as the window parameter, etc., and the embodiments of the present application do not specifically limit this.

其中,拥塞窗口的窗口参数能够全面地反映出对应的网络链路的网络状态,拥塞窗口的窗口参数越大,对应的网络链路的网络状态越好,使得对应的路由概率越大,从而通过路由概率能够描述对应的网络链路被分发目标数据包的概率。进而根据各个网络链路的路由概率,向各个网络链路分发目标数据包。Among them, the window parameter of the congestion window can fully reflect the network status of the corresponding network link. The larger the window parameter of the congestion window, the better the network status of the corresponding network link, making the corresponding routing probability larger, so that the probability of the corresponding network link being distributed with the target data packet can be described through the routing probability. Then, according to the routing probability of each network link, the target data packet is distributed to each network link.

本申请实施例不具体限定根据窗口参数确定路由概率的方式,例如,m个网络链路中第j个网络链路的路由概率可以表示为pj r,其中,j=1,2,…,m。则路由概率的归一化可以表示为下式:The embodiment of the present application does not specifically limit the manner of determining the routing probability according to the window parameter. For example, the routing probability of the jth network link among m network links can be expressed as p j r , where j=1, 2, ..., m. Then the normalization of the routing probability can be expressed as the following formula:

pj r=cwndj T/∑u cwndu T p j r = cwnd j T /∑ u cwnd u T

其中,∑j pj r=1,u=1,2,…,m,cwndj T表示第j个网络链路的窗口参数,∑ucwndu T表示m个网络链路的窗口参数之和。Among them, ∑ j p j r =1, u =1,2,…,m, cwnd j T represents the window parameter of the j-th network link, and ∑ u cwnd u T represents the sum of the window parameters of m network links.

此外,由于拥塞窗口的窗口参数是根据网络链路的网络状态实时调整的,故能够较为准确的检测无线链路的网络状态变化,而且各个网络链路的路由概率是分别计算的,互不影响,从而能够充分利用发送端的多个网络链路发送数据包,整体提高数据包的传输速度。In addition, since the window parameters of the congestion window are adjusted in real time according to the network status of the network link, it is possible to more accurately detect changes in the network status of the wireless link, and the routing probabilities of each network link are calculated separately without affecting each other, thereby making full use of multiple network links at the sender to send data packets, thereby improving the overall transmission speed of data packets.

S203:根据多个路由概率,向多个网络链路分发目标数据包。S203: Distribute the target data packet to multiple network links according to multiple routing probabilities.

路由概率用于描述对应的网络链路被分发目标数据包的概率,从而路由概率越大,通过对应的网络链路分发目标数据包的概率越大。作为一种可能的实现方式,可以向路由概率最大的网络链路发送目标数据包,也可以向路由概率排名前几的网络链路随机发送目标数据包等,本申请对此不做具体限定,后续会以几种方式为例进行说明,在此不再赘述。The routing probability is used to describe the probability of the corresponding network link being distributed with the target data packet, so the greater the routing probability, the greater the probability of distributing the target data packet through the corresponding network link. As a possible implementation method, the target data packet can be sent to the network link with the highest routing probability, or the target data packet can be randomly sent to the network links with the top routing probabilities, etc. This application does not make specific limitations on this, and several methods will be used as examples to illustrate it later, which will not be repeated here.

由上述技术方案可以看出,若接收待分配的目标数据包,则需要将目标数据包分发至网络链路进行传输,此时获取各个网络链路的拥塞窗口的窗口参数。其中,拥塞窗口是在传输过程中所使用的传输协议的变量,其能够适配网络链路的网络状态,即通过拥塞窗口的窗口参数能够全面的反应出各个网络链路的网络状态。根据拥塞窗口的窗口参数确定各个网络链路分别对应的路由概率,即根据拥塞窗口的窗口参数确定各个网络链路被分发目标数据包的概率。其中,拥塞窗口的窗口参数越大,说明对应的网络链路的网络状态越好,故对应的路由概率就越大,以便根据路由概率向网络链路分配目标数据包,使得路由概率越大的网络链路有更多机会被分发目标数据包。It can be seen from the above technical solution that if a target data packet to be allocated is received, the target data packet needs to be distributed to the network link for transmission, and the window parameters of the congestion window of each network link are obtained at this time. Among them, the congestion window is a variable of the transmission protocol used in the transmission process, which can adapt to the network state of the network link, that is, the network state of each network link can be fully reflected through the window parameters of the congestion window. According to the window parameters of the congestion window, the routing probabilities corresponding to each network link are determined, that is, the probability of each network link being distributed with the target data packet is determined according to the window parameters of the congestion window. Among them, the larger the window parameters of the congestion window, the better the network state of the corresponding network link, so the corresponding routing probability is larger, so as to allocate the target data packet to the network link according to the routing probability, so that the network link with the larger routing probability has more opportunities to be distributed with the target data packet.

由此,通过拥塞窗口的窗口参数确定路由概率,根据路由概率分发待分配的数据包,使得数据包能够以较大概率分发给网络状况较好的网络链路,即选择当前较为合适的网络链路发送目标数据包,从而从整体提高数据包的调度效果,进而提高数据包的传输速度。此外,由于拥塞窗口的窗口参数是根据网络链路的网络状态实时调整的,故能够较为准确的检测无线链路的网络状态变化,而且各个网络链路的路由概率是分别计算,有效适应移动网络或无线网络的异构性和动态性。Therefore, the routing probability is determined by the window parameters of the congestion window, and the data packets to be allocated are distributed according to the routing probability, so that the data packets can be distributed to the network links with better network conditions with a greater probability, that is, the current more suitable network links are selected to send the target data packets, thereby improving the overall scheduling effect of the data packets, and then improving the transmission speed of the data packets. In addition, since the window parameters of the congestion window are adjusted in real time according to the network status of the network link, it is possible to more accurately detect the changes in the network status of the wireless link, and the routing probability of each network link is calculated separately, which effectively adapts to the heterogeneity and dynamics of the mobile network or wireless network.

作为一种可能的实现方式,本申请实施例提供一种S203的具体实现方式,即根据多个路由概率,向多个网络链路分发目标数据包的具体实现方式,具体参见A1-A4。As a possible implementation method, the embodiment of the present application provides a specific implementation method of S203, that is, a specific implementation method of distributing target data packets to multiple network links according to multiple routing probabilities, see A1-A4 for details.

A1:根据多个路由概率构造m个连续的累加区间。A1: Construct m continuous accumulation intervals according to multiple routing probabilities.

其中,第j个网络链路对应的第i个累加区间的起始值为前j-1个网络链路的路由概率之和,第i个累加区间的终止值为前j个网络链路的路由概率之和,i和j均为小于或等于m的正整数。Among them, the starting value of the i-th accumulation interval corresponding to the j-th network link is the sum of the routing probabilities of the previous j-1 network links, and the ending value of the i-th accumulation interval is the sum of the routing probabilities of the previous j network links. Both i and j are positive integers less than or equal to m.

例如,若多个网络链路的数量为m,则可以根据m个路由概率构造m个连续的累加区间。若m个网络链路的路由概率之和为1,则构造的m个连续的累加区间可以表示为[0,p1 r),[p1 r,p1 r+p2 r),…,[∑j=1 m-1pj r,1](∑j=1 m pj r=1)。其中,第1个网络链路对应的第1个累加区间的起始值为0,即前0个网络链路的路由概率之和为0,第1个网络链路对应的第1个累加区间的终止值为p1 r,即第1个网络链路的路由概率大小。第2个网络链路对应的第2个累加区间的起始值为p1 r,即前1个网络链路的路由概率之和为p1 r,第2个网络链路对应的第2个累加区间的终止值为p1 r+p2 r,即前2个网络链路的路由概率之和。依次类推,在此不再赘述。For example, if the number of multiple network links is m, m continuous accumulation intervals can be constructed according to the m routing probabilities. If the sum of the routing probabilities of the m network links is 1, the constructed m continuous accumulation intervals can be expressed as [0, p 1 r ), [p 1 r , p 1 r + p 2 r ), …, [∑ j=1 m-1 p j r , 1] (∑ j=1 m p j r =1). Among them, the starting value of the first accumulation interval corresponding to the first network link is 0, that is, the sum of the routing probabilities of the first 0 network links is 0, and the ending value of the first accumulation interval corresponding to the first network link is p 1 r , that is, the routing probability of the first network link. The starting value of the second accumulation interval corresponding to the second network link is p 1 r , that is, the sum of the routing probabilities of the first network link is p 1 r , and the ending value of the second accumulation interval corresponding to the second network link is p 1 r +p 2 r , that is, the sum of the routing probabilities of the first two network links. And so on, no further details are given here.

A2:生成随机数。A2: Generate random numbers.

其中,随机数大于或等于第1个累加区间的起始值,且随机数小于或等于第m个累加区间的终止值,即在m个累加区间覆盖的区间内,如[0,1]中随机生成一个随机数。Among them, the random number is greater than or equal to the starting value of the first cumulative interval, and the random number is less than or equal to the ending value of the mth cumulative interval, that is, a random number is randomly generated in the interval covered by the m cumulative intervals, such as [0,1].

A3:将随机数落入的累加区间对应的网络链路,确定为待发送网络链路。A3: The network link corresponding to the accumulation interval into which the random number falls is determined as the network link to be sent.

例如,生成[0,1]间的随机数x并观测其所属的累加区间,对于x∈[∑j=1 v-1pj r,∑j=1 v pj r),选取第v个网络链路作为待发送网络链路,用于发送待分配的目标数据包。又如,生成的随机数落入第3个累加区间,则第3个网络链路为待发送网络链路。For example, a random number x between [0, 1] is generated and the accumulation interval to which it belongs is observed. For x∈[∑ j=1 v-1 p j r ,∑ j=1 v p j r ), the vth network link is selected as the network link to be sent, for sending the target data packet to be allocated. For another example, if the generated random number falls into the third accumulation interval, the third network link is the network link to be sent.

A4:向待发送网络链路分发目标数据包。A4: Distribute the target data packets to the network links to be sent.

由上述技术方案可知,通过根据路由概率构造每个网络链路对应的累加区间,将生成的随机数落入的累加区间对应的网络链路作为待发送网络链路,进而通过待发送网络链路发送目标数据包。由此,相比于将数据包通过路由概率最大的网络链路发送,通过随机数的方式能够利用到路由概率较小的网络链路发送目标数据包,从而充分利用每个网络链路,避免网络链路闲置,使数据包整体上按照各个链路的路由概率分布进行发送。此外,由于对于每个待分配的数据包可以实时做出决策,并且能够使得整体上选择的网络链路符合各网络链路的路由概率分布情况。It can be seen from the above technical solution that by constructing the cumulative interval corresponding to each network link according to the routing probability, the network link corresponding to the cumulative interval in which the generated random number falls is used as the network link to be sent, and then the target data packet is sent through the network link to be sent. Therefore, compared with sending the data packet through the network link with the highest routing probability, the network link with a smaller routing probability can be used to send the target data packet through the random number method, thereby making full use of each network link, avoiding idle network links, and making the data packet sent according to the routing probability distribution of each link as a whole. In addition, since a decision can be made in real time for each data packet to be allocated, and the network link selected as a whole can be made to conform to the routing probability distribution of each network link.

作为一种可能的实现方式,还可以将多个路由概率中最大的路由概率对应的网络链路,确定为待发送网络链路,该待发送网络链路是多个网络链路中网络状态最好的网络链路,向待发送网络链路分发目标数据包,从而通过网络状态最好的网络链路发送目标数据包,使得目标数据包发送的速度更快。As a possible implementation method, the network link corresponding to the largest routing probability among multiple routing probabilities can also be determined as the network link to be sent, and the network link to be sent is the network link with the best network status among the multiple network links. The target data packet is distributed to the network link to be sent, so that the target data packet is sent through the network link with the best network status, so that the target data packet is sent faster.

作为一种可能的实现方式,本申请实施例还提供两种窗口参数的确定方式,下面分别进行说明。As a possible implementation method, the embodiment of the present application also provides two methods for determining window parameters, which are described below respectively.

方式一:将最后一次窗口值作为窗口参数。Method 1: Use the last window value as the window parameter.

B1:若识别目标网络链路的拥塞窗口的窗口值改变,记录更新后的窗口值和更新时间。B1: If the window value of the congestion window identifying the target network link changes, the updated window value and update time are recorded.

由前述可知,拥塞窗口的窗口值,即拥塞窗口的大小会随着网络状态的改变而改变,为了后续能够使用,需要将每一次窗口值的改变,即更新后的窗口值和更新时间进行记录。下面以多个网络链路中的一个网络链路,即目标网络链路为例进行说明。As mentioned above, the window value of the congestion window, that is, the size of the congestion window, will change with the change of the network status. In order to be able to use it later, it is necessary to record each change of the window value, that is, the updated window value and the update time. The following is an example of one network link among multiple network links, that is, the target network link.

需要说明的是,可以根据接收端和发送端之间所使用的传输协议获得更新的窗口值和更新时间,本申请对此不做具体限定。It should be noted that the updated window value and update time can be obtained according to the transmission protocol used between the receiving end and the sending end, and this application does not make specific limitations on this.

B2:将与当前时间最接近的更新时间对应的更新后的窗口值,确定为目标网络链路对应的拥塞窗口的窗口参数。B2: Determine the updated window value corresponding to the update time closest to the current time as the window parameter of the congestion window corresponding to the target network link.

根据目标网络链路的更新时间,确定出与当前时间最接近的更新时间对应的更新后的窗口值,即当前最新的更新时间与当前最新的拥塞窗口的窗口值,并将当前最新的拥塞窗口的窗口值确定为目标网络链路对应的拥塞窗口的窗口参数。According to the update time of the target network link, an updated window value corresponding to the update time closest to the current time is determined, that is, the current latest update time and the current latest congestion window value, and the current latest congestion window value is determined as the window parameter of the congestion window corresponding to the target network link.

B3:将多个网络链路分别作为目标网络链路,获取多个网络链路分别对应的拥塞窗口的窗口参数。B3: Taking multiple network links as target network links respectively, and obtaining window parameters of congestion windows corresponding to the multiple network links respectively.

由此,通过将每一个网络链路分别作为目标网络链路,通过B1-B2能够确定出每一个网络链路的拥塞窗口的窗口参数。Therefore, by taking each network link as the target network link, the window parameter of the congestion window of each network link can be determined through B1-B2.

由上述技术方案可知,记录每一次更新后的窗口值和更新时间,根据更新时间确定出最后一次更新的窗口值,并将该窗口值确定为目标网络链路对应的拥塞窗口的窗口参数。由此,不断的将每一次最新的窗口值作为拥塞窗口的窗口参数,能够不断的确定出每一个网络链路的网络状态,从而提高待分配的数据包分配的实时性。It can be seen from the above technical solution that the window value and update time after each update are recorded, the window value of the last update is determined according to the update time, and the window value is determined as the window parameter of the congestion window corresponding to the target network link. Thus, the network status of each network link can be continuously determined by continuously using the latest window value each time as the window parameter of the congestion window, thereby improving the real-time performance of the allocation of the data packets to be allocated.

方式二:根据一段时间内的窗口值的平均值作为窗口参数。Method 2: The average value of the window value within a period of time is used as the window parameter.

C1:若识别目标网络链路的拥塞窗口的窗口值改变,记录更新后的窗口值和更新时间。C1: If the window value of the congestion window identifying the target network link changes, record the updated window value and update time.

由前述可知,拥塞窗口的窗口值,即拥塞窗口的大小会随着网络状态的改变而改变,为了后续能够使用,需要将每一次窗口值的改变,即更新后的窗口值和更新时间进行记录。下面以多个网络链路中的一个网络链路,即目标网络链路为例进行说明。As mentioned above, the window value of the congestion window, that is, the size of the congestion window, will change with the change of the network status. In order to be able to use it later, it is necessary to record each change of the window value, that is, the updated window value and the update time. The following is an example of one network link among multiple network links, that is, the target network link.

作为一种可能的实现方式,由于有些网络链路更新的速度较慢,故可以记录每一个网络链路分别对应的初始的拥塞窗口的窗口值,可以表示为cwndj 0,其中,j=1,2,…,m,m为多个网络链路的数量。当第j个网络链路的拥塞窗口的窗口值发生改变时,如接收端接收到的窗口值与发送时所用的窗口值不同,则认为拥塞窗口的窗口值发生改变。第j个网络链路的第i次更新后的拥塞窗口可以表示为cwndj i,对应的,第j个网络链路的第i次更新后的更新时间可以表示为tj iAs a possible implementation, since some network links are updated slowly, the window value of the initial congestion window corresponding to each network link can be recorded, which can be expressed as cwnd j 0 , where j = 1, 2, ..., m, and m is the number of multiple network links. When the window value of the congestion window of the j-th network link changes, if the window value received by the receiving end is different from the window value used when sending, it is considered that the window value of the congestion window has changed. The i-th updated congestion window of the j-th network link can be expressed as cwnd j i , and correspondingly, the update time of the i-th updated j-th network link can be expressed as t j i .

C2:根据更新时间确定目标网络链路在链路影响期内的拥塞窗口的窗口值。C2: Determine the window value of the congestion window of the target network link during the link influence period according to the update time.

作为一种可能的实现方式,可以预先确定窗口参数,也可以在有需要的时间确定窗口参数,例如,当有目标数据包在时刻tc作为目标数据包等待分配时,则在链路影响期Ta内查找,每个网络链路的拥塞窗口的窗口值,可以表示为cwndj k,其中,tj k∈[tc-Ta,tc],即查找在链路影响期内更新的拥塞窗口的窗口值。As a possible implementation manner, the window parameters may be determined in advance or when needed. For example, when a target data packet is waiting to be allocated as a target data packet at time t c , the window value of the congestion window of each network link is searched within the link impact period Ta , which can be expressed as cwnd j k , where t j k ∈[t c -T a ,t c ], i.e., the window value of the congestion window updated within the link impact period is searched.

其中,链路影响期为预先设定的一个时间段。通过大量实验发现,当链路影响期为100毫秒时,可以使得多个网络链路的聚合吐吞量最大。The link impact period is a pre-set time period. Through a large number of experiments, it is found that when the link impact period is 100 milliseconds, the aggregate throughput of multiple network links can be maximized.

C3:根据目标网络链路在链路影响期内的拥塞窗口的窗口值,确定目标网络链路的拥塞窗口的窗口参数。C3: Determine a window parameter of the congestion window of the target network link according to the window value of the congestion window of the target network link during the link influence period.

由上述技术方案可知,通过以一段时间内,即链路影响期内的拥塞窗口的窗口值为依据,确定各个网络链路的拥塞窗口的窗口参数。由此,能够避免突发状况的影响,从而更为准确的确定出各个网络链路一小段时间内(即链路影响期内)各个网络链路的整体状态,还可以用于不同网络链路间网络状态的比较,进而确定用于分发目标数据包的网络链路。It can be seen from the above technical solution that the window parameters of the congestion window of each network link are determined based on the window value of the congestion window within a period of time, that is, the link impact period. In this way, the influence of emergencies can be avoided, so as to more accurately determine the overall status of each network link within a short period of time (that is, within the link impact period), and can also be used to compare the network status between different network links, and then determine the network link used to distribute the target data packet.

本申请实施例不具体限定根据目标网络链路在链路影响期内的拥塞窗口的窗口值,确定目标网络链路的拥塞窗口的窗口参数的具体方式,下面以两种方式为例进行说明。The embodiment of the present application does not specifically limit the specific method of determining the window parameter of the congestion window of the target network link according to the window value of the congestion window of the target network link during the link influence period. Two methods are used as examples for explanation below.

第一种:通过算数平均值方式确定窗口参数。The first method is to determine the window parameters by arithmetic mean.

D1:确定目标网络链路在链路影响期内的拥塞窗口的窗口值的算数平均值。D1: Determine the arithmetic mean of the window values of the congestion window of the target network link during the link impact period.

D2:将算数平均值确定为目标网络链路的拥塞窗口的窗口参数。D2: Determine the arithmetic mean as the window parameter of the congestion window of the target network link.

由此,通过将一段时间内,即链路影响期内的拥塞窗口的窗口值的平均值作为拥塞窗口的窗口参数,能够避免突发状况,从而提高网络状态的稳定性。Therefore, by taking the average value of the window value of the congestion window within a period of time, that is, the link impact period, as the window parameter of the congestion window, emergencies can be avoided, thereby improving the stability of the network state.

第二种:通过加权调和平均值方式确定窗口参数。The second method is to determine the window parameters by weighted harmonic mean.

E1:根据目标网络链路在链路影响期内的拥塞窗口的窗口值,确定目标网络链路在链路影响期内的窗口调整次数。E1: Determine the number of window adjustments of the target network link during the link influence period according to the window value of the congestion window of the target network link during the link influence period.

由于每个网络链路具备不同的传输能力,或者说各个网络链路的网络状态存在差异,故每个网络链路的窗口值可能不同,每个网络链路在链路影响期内的窗口调整次数也可能不同。Since each network link has different transmission capabilities, or the network states of each network link are different, the window value of each network link may be different, and the number of window adjustments of each network link during the link influence period may also be different.

需要说明的是,虽然多个更新后的窗口值均在链路影响期内,但是每一个窗口值对网络状态的影响程度是不一样的,例如,更新时间距离当前越近的窗口值对网络状态的影响程度越大,更新时间距离当前越远的窗口值对网络状态的影响程度越小,故为了提高窗口参数的准确性,下面通过加权调和平均值的方式为不同更新时间的窗口值赋予不同的权重。It should be noted that although multiple updated window values are within the link impact period, the degree of influence of each window value on the network state is different. For example, the window value whose update time is closer to the current one has a greater influence on the network state, and the window value whose update time is farther from the current one has a smaller influence on the network state. Therefore, in order to improve the accuracy of the window parameters, different weights are assigned to window values with different update times by means of weighted harmonic mean.

E2:获取目标更新时间与目标数据包等待分配的时刻的差值。E2: Get the difference between the target update time and the time when the target data packet is waiting for distribution.

其中,目标更新时间为目标网络链路在链路影响期内的更新时间的一个。The target update time is one of the update times of the target network link during the link influence period.

E3:获取差值与目标更新时间对应的拥塞窗口的窗口值的比值。E3: Obtain the ratio of the difference to the window value of the congestion window corresponding to the target update time.

E4:将目标网络链路在链路影响期内的更新时间分别作为目标更新时间,获取多个比值之和。E4: Taking the update time of the target network link during the link influence period as the target update time, and obtaining the sum of multiple ratios.

E5:将窗口调整次数和比值之和的比值,确定为目标网络链路的拥塞窗口的窗口参数。E5: The ratio of the window adjustment times and the sum of the ratios is determined as the window parameter of the congestion window of the target network link.

E2-E5可以表示为cwndj T=Na/∑k[(tc-tj k)/cwndj k]。E2-E5 can be expressed as cwnd j T =N a /∑ k [(t c -t j k )/cwnd j k ].

其中,cwndj T为第j个网络链路的拥塞窗口的窗口参数。Na为第j个网络链路在链路影响期内的窗口调整次数。tc为目标数据包等待分配的时刻。tj k为第j个网络链路的拥塞窗口的第k次更新的更新时间。cwndj k为第j个网络链路的拥塞窗口的第k次更新的窗口值。Wherein, cwnd j T is the window parameter of the congestion window of the j-th network link. N a is the number of window adjustments of the j-th network link during the link influence period. t c is the time when the target data packet waits for allocation. t j k is the update time of the k-th update of the congestion window of the j-th network link. cwnd j k is the window value of the k-th update of the congestion window of the j-th network link.

由此,将链路影响期内的拥塞窗口的窗口值的调和平均值作为拥塞窗口的窗口参数,不仅能够避免突发状况,提高网络状态的稳定性,还考虑到链路影响期内不同更新时间的拥塞窗口对网络状态的影响程度不同,从而提高窗口参数的准确性,进而提高对网络状态评估的准确性,以便确定出各个网络链路间网络状态的对比。Therefore, using the harmonic mean of the window values of the congestion window during the link impact period as the window parameter of the congestion window can not only avoid emergencies and improve the stability of the network state, but also take into account the different degrees of influence of congestion windows at different update times on the network state during the link impact period, thereby improving the accuracy of the window parameters and further improving the accuracy of the network state evaluation, so as to determine the comparison of the network states between various network links.

作为一种可能的实现方式,本申请实施例还提供两种拥塞窗口的调整方法,从而使得拥塞窗口的调整更拟合网络链路的网络状态变化。下面具体进行说明。As a possible implementation, the embodiment of the present application also provides two methods for adjusting the congestion window, so that the adjustment of the congestion window is more suitable for the network state change of the network link.

拥塞窗口调整方式一:基于丢包情况。Congestion window adjustment method 1: based on packet loss.

F1:获取接收端返回的响应信号。F1: Get the response signal returned by the receiving end.

在实际应用中,发送端通过网络链路向接收端发送数据包,接收端向发送端发送响应信号,以便通过响应信号告知发送端自己的情况,如是否接收到数据包等。In actual applications, the sender sends a data packet to the receiver through a network link, and the receiver sends a response signal to the sender to inform the sender of its own situation, such as whether the data packet is received, through the response signal.

需要说明的是,拥塞窗口的调整时机可以在发送端通过待发送网络链路发送目标数据包后,也可以在发送端通过待发送网络链路发送目标数据包之前,本申请对此不做具体限定。下面以在发送端通过待发送网络链路发送目标数据包后调整待发送网络链路的拥塞窗口为例进行说明。It should be noted that the timing of adjusting the congestion window can be after the sender sends the target data packet through the network link to be sent, or before the sender sends the target data packet through the network link to be sent, and this application does not make specific restrictions on this. The following is an example of adjusting the congestion window of the network link to be sent after the sender sends the target data packet through the network link to be sent.

F2:若响应信号不包括确认字符,则确定待发送网络链路的缓存队列中数据包的第一数量。F2: If the response signal does not include a confirmation character, determine a first number of data packets in a buffer queue of the network link to be sent.

若响应信号不包括确认字符(Acknowledge character,ACK),则说明当前存在丢包的情况,即发送端通过待发送网络发送目标数据包后,接收端可能没接收到目标数据包。此时,确定待发送网络链路的缓存队列中数据包的第一数量,以便确定丢包存在的两种情况,下面通过F3和F4分别进行说明。If the response signal does not include an ACK character, it indicates that there is currently a packet loss situation, that is, after the sender sends the target data packet through the to-be-sent network, the receiver may not receive the target data packet. At this time, the first number of data packets in the cache queue of the to-be-sent network link is determined to determine two situations in which packet loss exists, which are respectively described below through F3 and F4.

其中,在数据通信中,ACK是接收端发给发送端的一种传输类控制字符。表示发来的数据已确认接收无误。例如,在传输控制协议/网际协议(Transmission ControlProtocol/Internet Protocol,TCP/IP)中,如果接收端成功地接收到数据,那么会回复一个包括ACK数据的响应信号。通常ACK数据有自己固定的格式、长度大小等。Among them, in data communication, ACK is a transmission control character sent by the receiving end to the sending end. It indicates that the sent data has been confirmed to be received correctly. For example, in the Transmission Control Protocol/Internet Protocol (TCP/IP), if the receiving end successfully receives the data, it will reply with a response signal including ACK data. Usually, ACK data has its own fixed format, length, etc.

作为一种可能的实现方式,通过如下公式可以确定第一数量:As a possible implementation manner, the first quantity may be determined by the following formula:

Ncg=(cwndj T/RTT-cwndj T/RTTcg)*RTTmin N cg =(cwnd j T /RTT-cwnd j T /RTT cg )*RTT min

其中,Ncg为第一数量,cwndj T为第j个网络链路的拥塞窗口的窗口参数,在本申请实施例可以为待发送网络链路的拥塞窗口的窗口参数。RTT为待发送网络链路的往返时延。RTTmin为多个网络链路的往返时延中最小往返时延。RTTcg可以表示为RTTcg=(1-β)*RTTcg+β*SRTT,SRTT是网络链路传输的平滑往返时延,β为衰减因子。作为一种可能的实现方式β可以取0.2。Wherein, N cg is the first number, cwnd j T is the window parameter of the congestion window of the j-th network link, and in the embodiment of the present application, it can be the window parameter of the congestion window of the network link to be sent. RTT is the round-trip delay of the network link to be sent. RTT min is the minimum round-trip delay among the round-trip delays of multiple network links. RTT cg can be expressed as RTT cg = (1-β)*RTT cg +β*SRTT, SRTT is the smooth round-trip delay of the network link transmission, and β is the attenuation factor. As a possible implementation method, β can be taken as 0.2.

F3:若第一数量大于第一数据包阈值,则通过第一下降权重减小拥塞窗口。F3: If the first number is greater than the first data packet threshold, the congestion window is reduced by a first decreasing weight.

若第一数量大于第一数据包阈值,说明待发送网络链路的缓存队列中缓存的数据包的数量较小,此时丢包的原因可能是由于待发送网络链路的网络不稳定导致的一刹那的丢包,即低丢包率。之后网络状态可能会瞬间恢复至正常状态,也可能持续当前不稳定的状态,故可以减少拥塞窗口,即通过第一下降权重减少待发送网络的拥塞窗口,以避免待发送网络链路的网络状态一直不好。If the first number is greater than the first packet threshold, it means that the number of packets cached in the cache queue of the network link to be sent is small. At this time, the reason for packet loss may be due to the network instability of the network link to be sent, which causes packet loss for a moment, that is, a low packet loss rate. After that, the network state may instantly return to a normal state, or it may continue to be in the current unstable state, so the congestion window can be reduced, that is, the congestion window of the network to be sent is reduced by the first descending weight to avoid the network state of the network link to be sent being always bad.

本申请实施例不具体限定第一数据包阈值,本领域技术人员可以根据实际需要进行设置。作为一种可能的实现方式,通过实验发现,第一数据包阈值取2时,可以最大化聚合吞吐量。The embodiment of the present application does not specifically limit the first data packet threshold, and those skilled in the art can set it according to actual needs. As a possible implementation, it is found through experiments that when the first data packet threshold is 2, the aggregate throughput can be maximized.

F4:若第一数量小于或等于第一数据包阈值,则通过第二下降权重减少拥塞窗口。F4: If the first number is less than or equal to the first data packet threshold, reducing the congestion window by a second decreasing weight.

若第一数量小于或等于第一数据包阈值,说明待发送网络链路的缓存队列中缓存的数据包的数量较多,导致了缓存队列无法继续接收新的数据包,会出现发送端无法传送给接收端数据包,进而导致高丢包率情况。此时需要快速降低待发送网络链路的拥塞窗口的窗口值,即通过数值较大的第二下降权重减小待发送网络的拥塞窗口,以便通过待发送网络链路较少的发送数据包,进而降低丢包的数量。If the first number is less than or equal to the first data packet threshold, it means that the number of data packets cached in the cache queue of the network link to be sent is large, resulting in the inability of the cache queue to continue to receive new data packets, and the sending end will be unable to transmit data packets to the receiving end, resulting in a high packet loss rate. At this time, it is necessary to quickly reduce the window value of the congestion window of the network link to be sent, that is, to reduce the congestion window of the network to be sent through the second descending weight with a larger value, so that fewer data packets are sent through the network link to be sent, thereby reducing the number of packet losses.

需要说明的是,第一下降权重小于第二下降权重。例如,若第一数量Ncg>第一数据包阈值θc,则设置第一下降权重可以表示为wd r,此时调整后的拥塞窗口可以表示为cwndj T+1=(1-wd r)*cwndj T。其中,cwndj T为第j个网络链路的拥塞窗口的窗口参数,cwndj T+1为第j个网络链路更新后的拥塞窗口的窗口参数。若第一数量Ncg<=第一数据包阈值θc,则设置第二下降权重可以表示为wd c,此时调整后的拥塞窗口可以表示为cwndj T+1=(1-wd c)*cwndj T。作为一种可能的实现方式,第一下降权重wd r的值可以为0.2,第二下降权重wd c的值可以为0.3。It should be noted that the first drop weight is less than the second drop weight. For example, if the first number N cg > the first data packet threshold θ c , the first drop weight can be expressed as w d r , and the adjusted congestion window can be expressed as cwnd j T+1 =(1-w d r )*cwnd j T . Wherein, cwnd j T is the window parameter of the congestion window of the j-th network link, and cwnd j T+1 is the window parameter of the updated congestion window of the j-th network link. If the first number N cg <= the first data packet threshold θ c , the second drop weight can be expressed as w d c , and the adjusted congestion window can be expressed as cwnd j T+1 =(1-w d c )*cwnd j T . As a possible implementation, the value of the first drop weight w d r can be 0.2, and the value of the second drop weight w d c can be 0.3.

由上述技术方案可知,高丢包率所在的网络链路的拥塞窗口需要快速变小,低丢包率所在的网络链路的拥塞窗口可以缓慢变小。由此,有针对性的针对不同丢包情况适应性的调整拥塞窗口的窗口值,使得拥塞窗口的调整更趋近无线网络链路或移动网络链路的网络状态变化。From the above technical solution, it can be seen that the congestion window of the network link with high packet loss rate needs to be reduced quickly, and the congestion window of the network link with low packet loss rate can be reduced slowly. Therefore, the window value of the congestion window is adaptively adjusted according to different packet loss situations, so that the adjustment of the congestion window is closer to the network state change of the wireless network link or the mobile network link.

拥塞窗口调整方式二:基于时延情况。Congestion window adjustment method 2: based on delay conditions.

F1:获取接收端返回的响应信号。F1: Get the response signal returned by the receiving end.

F5:若响应信号包括确认字符,则获取多个网络链路分别对应的往返时延,并从多个网络链路分别对应的往返时延中确定一个基准时延。F5: If the response signal includes a confirmation character, then the round-trip delays corresponding to the multiple network links are obtained, and a reference delay is determined from the round-trip delays corresponding to the multiple network links.

若响应信号包括确定字符,说明接收端接收到目标数据包,此时可以获取多个网络链路分别对应的往返时延。例如,统计过去一段时间内各个网络链路的往返时延。从多个网络链路分别对应的往返时延中任意确定一个往返时延作为基准时延,如最小往返时延或最大往返时延等。If the response signal includes a confirmation character, it means that the receiving end has received the target data packet. At this time, the round-trip delays corresponding to multiple network links can be obtained. For example, the round-trip delays of each network link in the past period of time are counted. From the round-trip delays corresponding to multiple network links, any round-trip delay is determined as the benchmark delay, such as the minimum round-trip delay or the maximum round-trip delay.

F6:根据待发送网络链路的往返时延和基准时延,确定待发送网络链路的拥塞窗口的更新速率。F6: Determine the update rate of the congestion window of the network link to be sent according to the round-trip delay of the network link to be sent and the benchmark delay.

例如,若基准时延为多个网络链路的往返时延中最小的往返时延,即最小往返时延,确定待发送网络链路的拥塞窗口的更新速率可以表示为γj。其中,γj=RTTj/RTTmin。RTTmin为多个网络链路的往返时延中最小往返时延,RTTj为第j个网络链路的往返时延。For example, if the reference delay is the minimum round-trip delay among the round-trip delays of multiple network links, that is, the minimum round-trip delay, the update rate of the congestion window of the network link to be sent can be expressed as γ j . Wherein, γ j =RTT j /RTT min . RTT min is the minimum round-trip delay among the round-trip delays of multiple network links, and RTT j is the round-trip delay of the jth network link.

F7:若更新速率大于或等于更新速率阈值,则降低待发送网络链路的拥塞窗口。F7: If the update rate is greater than or equal to the update rate threshold, reduce the congestion window of the network link to be sent.

若更新速率大于或等于更新速率阈值,则说明待发送网络链路处于高延迟情况,为了避免高延迟的拥塞窗口更新速度过快,使得不同网络链路的延迟差异更大,影响吞吐量的稳定性,此时可以降低拥塞窗口,即限制拥塞窗口的更新速率,使其进入衰减阶段。If the update rate is greater than or equal to the update rate threshold, it means that the network link to be sent is in a high-latency situation. In order to avoid the high-latency congestion window updating speed too fast, which makes the delay difference between different network links greater and affects the stability of throughput, the congestion window can be reduced at this time, that is, the update rate of the congestion window can be limited to make it enter the attenuation stage.

作为一种可能的实现方式,可以采用指数加权移动平均方式降低待发送网络链路的拥塞窗口,可以表示如下:As a possible implementation method, an exponentially weighted moving average method can be used to reduce the congestion window of the network link to be sent, which can be expressed as follows:

cwndj T+1=β*cwndj T+(1-β)*(cwndj Tj)cwnd j T+1 = β*cwnd j T +(1-β)*(cwnd j Tj )

其中,cwndj T为第j个网络链路的拥塞窗口的窗口参数,cwndj T+1为第j个网络链路更新后的拥塞窗口的窗口参数。γj为待发送网络链路的拥塞窗口的更新速率。Β为衰减因子,作为一种可能的实现方式,β可以为0.2。Wherein, cwnd j T is the window parameter of the congestion window of the j-th network link, and cwnd j T+1 is the window parameter of the updated congestion window of the j-th network link. γ j is the update rate of the congestion window of the network link to be sent. Β is the attenuation factor. As a possible implementation, β can be 0.2.

本申请实施例不具体限定更新速率阈值的大小,本领域技术人员可以根据实际需要进行设置。作为一种可能的实现方式,更新速率阈值为3时,聚合吞吐量最大。The embodiment of the present application does not specifically limit the value of the update rate threshold, and those skilled in the art can set it according to actual needs. As a possible implementation, when the update rate threshold is 3, the aggregate throughput is maximum.

F8:若更新速率小于更新速率阈值,则增加待发送网络链路的拥塞窗口。F8: If the update rate is less than the update rate threshold, increase the congestion window of the network link to be sent.

若更新速率小于更新速率阈值,则说明待发送网络链路处于低延迟的情况,此时可以增加待发送网络链路的拥塞窗口,如采用机会连接增长算法(opportunistic linkedincreases algorithm,OLIA)等传统拥塞控制算法调整。If the update rate is less than the update rate threshold, it means that the network link to be sent is in a low latency situation. At this time, the congestion window of the network link to be sent can be increased, such as by using traditional congestion control algorithms such as opportunistic linked increases algorithm (OLIA).

作为一种可能的实现方式,确定待发送网络链路的缓存队列中数据包的第二数量;若第二数量超过第二数据包阈值,则等待再接收一个确认字符后,增加待发送网络链路的拥塞窗口;若第二数量小于第二数据包阈值,则增加待发送网络链路的拥塞窗口。第二数据包阈值可以和第一数据包阈值相等,本申请对此不做具体限定,本领域技术人员可以根据实际需要进行社会。由此,通过在低丢包率的网络链路接收一个ACK后增加拥塞窗口的窗口值,在高丢包率的网络链路接收两个ACK返回后增加拥塞窗口大小的方式,能够保证网络链路阻塞时,增加拥塞窗口更保守,减缓引入更多的数据包传输。As a possible implementation method, determine the second number of data packets in the cache queue of the network link to be sent; if the second number exceeds the second data packet threshold, wait for another confirmation character to be received, and then increase the congestion window of the network link to be sent; if the second number is less than the second data packet threshold, increase the congestion window of the network link to be sent. The second data packet threshold can be equal to the first data packet threshold, and the present application does not make specific restrictions on this, and those skilled in the art can make social according to actual needs. Therefore, by increasing the window value of the congestion window after receiving an ACK on a network link with a low packet loss rate, and increasing the congestion window size after receiving two ACK returns on a network link with a high packet loss rate, it can be ensured that when the network link is blocked, the increase in the congestion window is more conservative, which slows down the introduction of more data packet transmissions.

作为一种可能的实现方式,若拥塞窗口仍处于慢启动阶段,则额外将慢启动阈值设置为原拥塞窗口大小cwndj tAs a possible implementation manner, if the congestion window is still in the slow start phase, the slow start threshold is additionally set to the original congestion window size cwnd j t .

由上述技术方案可知,在高时延所在的网络链路的拥塞窗口执行降低拥塞窗口的操作,在低时延所在的网络链路的拥塞窗口执行增加拥塞窗口的操作,从而避免高时延的拥塞窗口更新过快,造成不同网络链路的延迟差异增大,影响吞吐量的稳定性。It can be seen from the above technical solution that the operation of reducing the congestion window is performed in the congestion window of the network link where the high latency is located, and the operation of increasing the congestion window is performed in the congestion window of the network link where the low latency is located, so as to avoid the high-latency congestion window from being updated too quickly, causing the delay difference between different network links to increase, and affecting the stability of throughput.

为了便于进一步理解本申请实施例提供的技术方案,下面以本申请实施例提供的数据包调度方法的执行主体为终端设备为例,对该数据包调度方法进行整体示例性介绍。In order to facilitate further understanding of the technical solution provided by the embodiment of the present application, the data packet scheduling method provided by the embodiment of the present application is taken as an example in which the execution subject is a terminal device, and the data packet scheduling method is introduced as an overall example.

首先,对数据包调度方法的应用场景进行说明。First, the application scenario of the data packet scheduling method is described.

本申请实施例提供的数据包调度方法可以适用于各种多路接入移动应用,即通过多个或多种网络链路向移动应用发送数据包的场景,特别是对数据传输带宽、时延和稳定性有较高要求的流媒体类应用,如在线教育、电商直播、VR/AR云游戏等。其中,流媒体是一种新的媒体传送方式,是指将一连串的多媒体资料压缩后,通过互联网分段发送资料,可即时传输影音以供观赏的一种技术与过程;流媒体最主要的技术特征就是流式传输,它使得数据可以像流水一样传输。The data packet scheduling method provided in the embodiment of the present application can be applied to various multi-access mobile applications, that is, scenarios where data packets are sent to mobile applications through multiple or multiple network links, especially streaming media applications that have high requirements for data transmission bandwidth, latency and stability, such as online education, e-commerce live broadcast, VR/AR cloud games, etc. Among them, streaming media is a new media transmission method, which refers to a technology and process that compresses a series of multimedia data and sends the data in segments through the Internet, which can instantly transmit audio and video for viewing; the most important technical feature of streaming media is streaming transmission, which allows data to be transmitted like flowing water.

下面以视频直播过程中从视频源向在云或边缘部署的摄取服务器多路传送视频的过程为例进行说明。The following takes the process of multi-channel video transmission from the video source to the ingestion server deployed in the cloud or edge during video live broadcast as an example.

参见图3,该图为本申请实施例提供的一种数据包调度方法的应用场景示意图。在图3中,视频源为发送端,可以通过手机或网络摄像头等作为视频源持续捕捉视频帧,发送端编码后通过WiFi、LTE/5G等多个网络链路,经过网络路由器向摄取服务器发送数据包,摄取服务器(ingest server)与多个内容分发网络(Content Delivery Network,CDN)服务器连接,从而将接收到的数据包发送给CDN服务器。See Figure 3, which is a schematic diagram of an application scenario of a data packet scheduling method provided in an embodiment of the present application. In Figure 3, the video source is the sender, and a mobile phone or a webcam can be used as a video source to continuously capture video frames. After encoding, the sender sends data packets to the ingest server through multiple network links such as WiFi, LTE/5G, and a network router. The ingest server is connected to multiple content delivery network (CDN) servers, thereby sending the received data packets to the CDN server.

然后,对数据包调度系统进行说明,该数据包调度系统应用了本申请实施例提供的数据包调度方法,下面结合图4进行说明。Then, a data packet scheduling system is described. The data packet scheduling system applies the data packet scheduling method provided in an embodiment of the present application, which is described below in conjunction with Figure 4.

参见图4,该图为本申请实施例提供的一种数据包调度系统的示意图。图4还可以看成是运行在视频源和摄取服务器两侧的端到端框架。数据包调度系统包括视频源410和摄取服务器420。视频源410和摄取服务器420间通过传输控制协议基于UDP的快速因特网连接(Quick UDP Internet Connection,QUIC)实现数据传输,下面分别进行说明。Referring to FIG. 4 , which is a schematic diagram of a data packet scheduling system provided in an embodiment of the present application. FIG. 4 can also be viewed as an end-to-end framework running on both sides of a video source and an ingestion server. The data packet scheduling system includes a video source 410 and an ingestion server 420. Data transmission is achieved between the video source 410 and the ingestion server 420 through a transmission control protocol based on UDP Quick UDP Internet Connection (QUIC), which is described below.

视频源410包括视频捕捉模块411、帧转换模块412、包调度模块413和拥塞控制模块414。其中,视频捕捉模块411持续捕捉视频帧,并将视频帧编码后缓存在视频源的一个发送队列中。帧转换模块412从发送队列中依次提取视频帧,并封装到QUIC数据包中。包调度模块413将每个封装好的数据包,如前述所述的目标数据包,基于网络链路的拥塞窗口的窗口值选择合适的网络链路,即执行前述S201-S203。拥塞控制模块414根据各个网络链路的往返时延和/或丢包情况调整各个网络链路的拥塞窗口的窗口值,即执行前述F1-F8。The video source 410 includes a video capture module 411, a frame conversion module 412, a packet scheduling module 413 and a congestion control module 414. The video capture module 411 continuously captures video frames, and caches the encoded video frames in a sending queue of the video source. The frame conversion module 412 extracts video frames from the sending queue in sequence and encapsulates them into QUIC data packets. The packet scheduling module 413 selects a suitable network link for each encapsulated data packet, such as the target data packet described above, based on the window value of the congestion window of the network link, that is, executes the aforementioned S201-S203. The congestion control module 414 adjusts the window value of the congestion window of each network link according to the round-trip delay and/or packet loss of each network link, that is, executes the aforementioned F1-F8.

QUIC数据包通过多个网络链路发送至摄取服务器420,摄取服务器420将其缓存至接收队列中。摄取服务器420包括帧转换模块421和视频缓存模块422。其中,帧转换模块421从接收队列中依次提取QUIC数据包,并根据QUIC数据包的包号重排序,重构为视频帧发送至视频缓存模块422。视频缓存模块422将视频帧执行内容分发等操作。The QUIC data packets are sent to the ingestion server 420 through multiple network links, and the ingestion server 420 caches them in the receiving queue. The ingestion server 420 includes a frame conversion module 421 and a video cache module 422. Among them, the frame conversion module 421 extracts the QUIC data packets from the receiving queue in sequence, reorders them according to the packet numbers of the QUIC data packets, reconstructs them into video frames and sends them to the video cache module 422. The video cache module 422 performs operations such as content distribution on the video frames.

此外,相关技术中的数据包调度系统,在用户态中建立应用层,在系统内核中建立传输层,使得应用层和传输层无法直接访问。而在本申请实施例提供的数据包调度系统中,设计跨层网络架构将传输层与应用层集成,将应用层和传输层均建立在用户态中,将视频源产生的视频流在线传输给服务器,减少两层冗余配置和操作,也可以降低传输用时。In addition, the data packet scheduling system in the related art establishes an application layer in the user state and a transport layer in the system kernel, so that the application layer and the transport layer cannot be directly accessed. In the data packet scheduling system provided in the embodiment of the present application, a cross-layer network architecture is designed to integrate the transport layer with the application layer, and both the application layer and the transport layer are established in the user state, and the video stream generated by the video source is transmitted online to the server, reducing the redundant configuration and operation of the two layers, and can also reduce the transmission time.

最后,下面集合图5和图6对数据包的调度方法进行说明。Finally, the method for scheduling data packets is described below with reference to FIG5 and FIG6.

参见图5,该图为本申请实施例提供的一种数据包的调度方法的流程图。该数据包调度方法可以应用于图4中的包调度模块413,下面具体说明。See Figure 5, which is a flow chart of a method for scheduling data packets provided in an embodiment of the present application. The method for scheduling data packets can be applied to the packet scheduling module 413 in Figure 4, which is described in detail below.

S501:开始。S501: Start.

S502:记录各个网络链路的拥塞窗口初始的窗口值。S502: Record the initial window value of the congestion window of each network link.

S503:判断各个网络链路的拥塞窗口是否存在调整,若是,则执行S504;若否,则执行S505。S503: Determine whether the congestion window of each network link needs to be adjusted. If so, execute S504; if not, execute S505.

S504:若识别某个网络链路的拥塞窗口的窗口值改变,记录更新后的窗口值和更新时间,执行S503。S504: If it is identified that the window value of the congestion window of a certain network link has changed, the updated window value and the update time are recorded, and S503 is executed.

S505:判断各个网络链路是否存在待分配的目标数据包,若是,则执行S506;若否,则执行S509。S505: Determine whether there is a target data packet to be allocated on each network link. If yes, execute S506; if not, execute S509.

S506:获取各个网络链路的拥塞窗口的窗口参数。S506: Obtain window parameters of the congestion windows of each network link.

具体可以参见B2-B3,在此不再赘述。For details, please refer to B2-B3, which will not be repeated here.

S507:根据多个拥塞窗口的窗口参数,确定多个网络链路分别对应的路由概率。S507: Determine routing probabilities corresponding to the multiple network links respectively according to the window parameters of the multiple congestion windows.

具体可以参见A1-A4,在此不再赘述。For details, please refer to A1-A4, which will not be repeated here.

S508:根据多个路由概率,向多个网络链路分发目标数据包,执行S505。S508: Distribute the target data packet to multiple network links according to the multiple routing probabilities, and execute S505.

S509:判断是否停止发送目标数据包,若是,则执行S510;若否,则执行S503。S509: Determine whether to stop sending the target data packet, if so, execute S510; if not, execute S503.

S510:结束。S510: End.

参见图6,该图为本申请实施例提供的一种数据包的调度方法的流程图。该数据包调度方法可以应用于图4中的拥塞控制模块414,下面具体说明。See Figure 6, which is a flow chart of a method for scheduling data packets provided in an embodiment of the present application. The method for scheduling data packets can be applied to the congestion control module 414 in Figure 4, which is described in detail below.

S601:开始。S601: Start.

S602:获取接收端返回的响应信号。S602: Obtain a response signal returned by the receiving end.

S603:判断响应信号是否包括确定字符,若是,则执行S604;若否,则执行S609。S603: Determine whether the response signal includes a certain character, if so, execute S604; if not, execute S609.

S604:确定待发送网络链路的缓存队列中数据包的第一数量。S604: Determine a first number of data packets in a cache queue of a network link to be sent.

S605:判断第一数量是否大于第一数据包阈值,若是,则执行S606;若否,则执行S607。S605: Determine whether the first number is greater than a first data packet threshold, if so, execute S606; if not, execute S607.

S606:通过第一下降权重减小拥塞窗口,执行S608。S606: Reduce the congestion window by first decreasing the weight, and execute S608.

S607:通过第二下降权重减少拥塞窗口,执行S608。S607: Reduce the congestion window by a second weight reduction, and execute S608.

S608:判断是否继续获取接收端返回的响应信号,若是,则执行S602;若否,则执行S616。S608: Determine whether to continue to obtain the response signal returned by the receiving end, if so, execute S602; if not, execute S616.

S609:确定待发送网络链路的拥塞窗口的更新速率。S609: Determine an update rate of the congestion window of the network link to be sent.

具体可以参见F5-F6,在此不再赘述。For details, please refer to F5-F6, which will not be repeated here.

S610:判断是否超过更新速率阈值,若是,则执行S611;若否,则执行S612。S610: Determine whether the update rate threshold is exceeded, if so, execute S611; if not, execute S612.

S611:采用指数加权移动平均方式降低待发送网络链路的拥塞窗口,执行S608。S611: Use an exponentially weighted moving average method to reduce the congestion window of the network link to be sent, and execute S608.

S612:确定待发送网络链路的缓存队列中数据包的第二数量。S612: Determine a second number of data packets in the buffer queue of the network link to be sent.

S613:判断第二数量是否超过第二数据包阈值,若是,则执行S614;若否,则执行S615。S613: Determine whether the second number exceeds the second data packet threshold, if so, execute S614; if not, execute S615.

S614:等待再接收一个所述确认字符。S614: Waiting to receive another confirmation character.

S615:增加待发送网络链路的拥塞窗口。S615: Increase the congestion window of the network link to be sent.

S616:结束。S616: End.

由上述技术方案可知,通过基于拥塞窗口的窗口值确定路由概率,并通过随机数实现概率性地分配目标数据包,并优化拥塞控制机制以实时感知时延和丢包情况,准确检测无线链路网络状态变化,合理选取传输路径以充分利用整体可用带宽,有效避免链路状态预测不准确和队头阻塞现象以及额外网络开销。对数据传输带宽、时延和稳定性有较高要求的各种多路接入移动应用,能够提供高效的数据传输支持,有效适应移动网络异构性和动态性,充分利用整体可用带宽并避免额外网络开销。经过实验发现,相比现有主流多路径调度方法在聚合吞吐量以及视频传送比特率上都有超过20%的明显提升。其中,视频传送比特率是指在流媒体类应用中,单位时间内传输视频流对应的比特的数量。It can be seen from the above technical solution that the routing probability is determined by the window value based on the congestion window, and the target data packet is probabilistically allocated through random numbers, and the congestion control mechanism is optimized to perceive the delay and packet loss in real time, accurately detect the changes in the wireless link network state, and reasonably select the transmission path to make full use of the overall available bandwidth, effectively avoid inaccurate link state prediction and head-of-line blocking and additional network overhead. Various multi-access mobile applications with high requirements for data transmission bandwidth, delay and stability can provide efficient data transmission support, effectively adapt to the heterogeneity and dynamics of mobile networks, make full use of the overall available bandwidth and avoid additional network overhead. Experiments have found that compared with the existing mainstream multi-path scheduling methods, there is a significant improvement of more than 20% in aggregate throughput and video transmission bit rate. Among them, the video transmission bit rate refers to the number of bits corresponding to the transmission of the video stream per unit time in streaming media applications.

针对上文描述的数据包调度方法,本申请还提供了对应的数据包调度装置,以使上述数据包调度方法在实际中得以应用及实现。With respect to the data packet scheduling method described above, the present application also provides a corresponding data packet scheduling device so that the above-mentioned data packet scheduling method can be applied and implemented in practice.

参见图7,该图为本申请实施例提供的一种数据包调度装置的结构示意图。如图7所示,该数据包调度装置700包括:获取单元701、确定单元702和发送单元703;Refer to Figure 7, which is a schematic diagram of the structure of a data packet scheduling device provided in an embodiment of the present application. As shown in Figure 7, the data packet scheduling device 700 includes: an acquisition unit 701, a determination unit 702 and a sending unit 703;

所述获取单元701,用于若接收待分配的目标数据包,则获取多个网络链路分别对应的拥塞窗口的窗口参数,所述网络链路为用于传输所述目标数据包的通道,所述拥塞窗口的窗口参数用于描述对应的网络链路的网络状态;The acquisition unit 701 is used to acquire window parameters of congestion windows corresponding to multiple network links respectively if a target data packet to be allocated is received, wherein the network link is a channel for transmitting the target data packet, and the window parameters of the congestion window are used to describe the network status of the corresponding network link;

所述确定单元702,用于根据多个所述拥塞窗口的窗口参数,确定所述多个网络链路分别对应的路由概率,所述路由概率用于描述对应的网络链路被分发所述目标数据包的概率;其中,所述拥塞窗口的窗口参数越大,对应的路由概率越大;The determining unit 702 is used to determine the routing probabilities corresponding to the multiple network links respectively according to the window parameters of the multiple congestion windows, and the routing probabilities are used to describe the probability that the corresponding network links are distributed with the target data packets; wherein the larger the window parameter of the congestion window is, the larger the corresponding routing probability is;

所述发送单元703,用于根据多个所述路由概率,向所述多个网络链路分发所述目标数据包。The sending unit 703 is used to distribute the target data packet to the multiple network links according to the multiple routing probabilities.

由上述技术方案可以看出,若接收待分配的目标数据包,则需要将目标数据包分发至网络链路进行传输,此时获取各个网络链路的拥塞窗口的窗口参数。其中,拥塞窗口是在传输过程中所使用的传输协议的变量,其能够适配网络链路的网络状态,即通过拥塞窗口的窗口参数能够全面的反应出各个网络链路的网络状态。根据拥塞窗口的窗口参数确定各个网络链路分别对应的路由概率,即根据拥塞窗口的窗口参数确定各个网络链路被分发目标数据包的概率。其中,拥塞窗口的窗口参数越大,说明对应的网络链路的网络状态越好,故对应的路由概率就越大,以便根据路由概率向网络链路分配目标数据包,使得路由概率越大的网络链路有更多机会被分发目标数据包。由此,通过拥塞窗口的窗口参数确定路由概率,根据路由概率分发待分配的数据包,使得数据包能够以较大概率分发给网络状况较好的网络链路,从而从整体提高数据包的调度效果,进而提高数据包的传输速度。此外,由于拥塞窗口的窗口参数是根据网络链路的网络状态实时调整的,故能够较为准确的检测无线链路的网络状态变化,而且各个网络链路的路由概率是分别计算,有效适应移动网络或无线网络的异构性和动态性。It can be seen from the above technical scheme that if a target data packet to be allocated is received, the target data packet needs to be distributed to the network link for transmission, and the window parameters of the congestion window of each network link are obtained at this time. Among them, the congestion window is a variable of the transmission protocol used in the transmission process, which can adapt to the network state of the network link, that is, the network state of each network link can be fully reflected through the window parameters of the congestion window. According to the window parameters of the congestion window, the routing probabilities corresponding to each network link are determined, that is, the probability of each network link being distributed with the target data packet is determined according to the window parameters of the congestion window. Among them, the larger the window parameter of the congestion window, the better the network state of the corresponding network link, so the corresponding routing probability is larger, so as to allocate the target data packet to the network link according to the routing probability, so that the network link with the larger routing probability has more opportunities to be distributed with the target data packet. Thus, the routing probability is determined by the window parameters of the congestion window, and the data packet to be allocated is distributed according to the routing probability, so that the data packet can be distributed to the network link with better network condition with a greater probability, thereby improving the scheduling effect of the data packet as a whole, and then improving the transmission speed of the data packet. In addition, since the window parameters of the congestion window are adjusted in real time according to the network status of the network link, it is possible to more accurately detect changes in the network status of the wireless link, and the routing probability of each network link is calculated separately, effectively adapting to the heterogeneity and dynamics of mobile networks or wireless networks.

作为一种可能的实现方式,所述多个网络链路的数量为m,m为大于1的整数,所述发送单元703,具体用于:As a possible implementation manner, the number of the multiple network links is m, where m is an integer greater than 1, and the sending unit 703 is specifically configured to:

根据多个所述路由概率构造m个连续的累加区间;其中,第j个网络链路对应的第j个累加区间的起始值为前j-1个网络链路的路由概率之和,所述第j个累加区间的终止值为前j个网络链路的路由概率之和,j为小于或等于m的正整数;Constructing m continuous accumulation intervals according to the multiple routing probabilities; wherein the starting value of the jth accumulation interval corresponding to the jth network link is the sum of the routing probabilities of the previous j-1 network links, and the ending value of the jth accumulation interval is the sum of the routing probabilities of the previous j network links, and j is a positive integer less than or equal to m;

生成随机数,所述随机数大于或等于第1个累加区间的起始值,且所述随机数小于或等于第m个累加区间的终止值;Generate a random number, the random number is greater than or equal to the starting value of the first accumulation interval, and the random number is less than or equal to the ending value of the mth accumulation interval;

将所述随机数落入的累加区间对应的网络链路,确定为待发送网络链路;Determine the network link corresponding to the accumulation interval in which the random number falls as the network link to be sent;

向所述待发送网络链路分发所述目标数据包。Distribute the target data packet to the network link to be sent.

作为一种可能的实现方式,所述发送单元703,具体用于:As a possible implementation manner, the sending unit 703 is specifically configured to:

将多个所述路由概率中最大的路由概率对应的网络链路,确定为待发送网络链路;Determine the network link corresponding to the largest routing probability among the plurality of routing probabilities as the network link to be sent;

向所述待发送网络链路分发所述目标数据包。Distribute the target data packet to the network link to be sent.

作为一种可能的实现方式,所述装置还包括窗口参数确定单元,用于:As a possible implementation manner, the device further includes a window parameter determining unit, configured to:

若识别目标网络链路的拥塞窗口的窗口值改变,记录更新后的窗口值和更新时间,所述目标网络链路为所述多个网络链路中的一个网络链路;If a window value of a congestion window identifying a target network link changes, recording an updated window value and an update time, the target network link being one of the plurality of network links;

将与当前时间最接近的更新时间对应的更新后的窗口值,确定为所述目标网络链路对应的拥塞窗口的窗口参数;Determine the updated window value corresponding to the update time closest to the current time as the window parameter of the congestion window corresponding to the target network link;

将所述多个网络链路分别作为所述目标网络链路,获取所述多个网络链路分别对应的拥塞窗口的窗口参数。The multiple network links are respectively used as the target network links, and window parameters of congestion windows corresponding to the multiple network links are obtained.

作为一种可能的实现方式,所述装置还包括窗口参数确定单元,用于:As a possible implementation manner, the device further includes a window parameter determining unit, configured to:

若识别目标网络链路的拥塞窗口的窗口值改变,记录更新后的窗口值和更新时间,所述目标网络链路为所述多个网络链路中的一个网络链路;If a window value of a congestion window identifying a target network link changes, recording an updated window value and an update time, the target network link being one of the plurality of network links;

根据更新时间确定所述目标网络链路在链路影响期内的拥塞窗口的窗口值,所述链路影响期为预先设定的一个时间段;Determine, according to the update time, a window value of a congestion window of the target network link within a link impact period, wherein the link impact period is a preset time period;

根据所述目标网络链路在所述链路影响期内的拥塞窗口的窗口值,确定所述目标网络链路的拥塞窗口的窗口参数。A window parameter of the congestion window of the target network link is determined according to a window value of the congestion window of the target network link during the link influence period.

作为一种可能的实现方式,所述装置还包括窗口参数确定单元,用于:As a possible implementation manner, the device further includes a window parameter determining unit, configured to:

根据所述目标网络链路在所述链路影响期内的拥塞窗口的窗口值,确定所述目标网络链路在所述链路影响期内的窗口调整次数;Determining the number of window adjustments of the target network link during the link impact period according to the window value of the congestion window of the target network link during the link impact period;

获取目标更新时间与所述目标数据包等待分配的时刻的差值,所述目标更新时间为所述目标网络链路在所述链路影响期内的更新时间的一个;Obtaining a difference between a target update time and a time when the target data packet is waiting for allocation, wherein the target update time is one of the update times of the target network link during the link influence period;

获取所述差值与所述目标更新时间对应的拥塞窗口的窗口值的比值;Obtaining a ratio of the difference to a window value of a congestion window corresponding to the target update time;

将所述目标网络链路在所述链路影响期内的更新时间分别作为所述目标更新时间,获取多个比值之和;Taking the update time of the target network link during the link influence period as the target update time, and obtaining the sum of multiple ratios;

将所述窗口调整次数和所述比值之和的比值,确定为所述目标网络链路的拥塞窗口的窗口参数。The ratio of the window adjustment times to the sum of the ratios is determined as the window parameter of the congestion window of the target network link.

作为一种可能的实现方式,所述装置还包括窗口参数确定单元,用于:As a possible implementation manner, the device further includes a window parameter determining unit, configured to:

确定所述目标网络链路在所述链路影响期内的拥塞窗口的窗口值的算数平均值;Determine an arithmetic mean of window values of the congestion window of the target network link during the link influence period;

将所述算数平均值确定为所述目标网络链路的拥塞窗口的窗口参数。The arithmetic mean is determined as a window parameter of a congestion window of the target network link.

作为一种可能的实现方式,所述装置还包括拥塞窗口调整单元,用于:As a possible implementation manner, the device further includes a congestion window adjustment unit, configured to:

通过待发送网络链路发送所述目标数据包后,获取接收端返回的响应信号;After sending the target data packet through the network link to be sent, obtaining a response signal returned by the receiving end;

若所述响应信号不包括确认字符,则确定所述待发送网络链路的缓存队列中数据包的第一数量;If the response signal does not include a confirmation character, determining a first number of data packets in a cache queue of the to-be-sent network link;

若所述第一数量大于第一数据包阈值,则通过第一下降权重减小拥塞窗口;If the first number is greater than a first packet threshold, reducing the congestion window by a first decreasing weight;

若所述第一数量小于或等于所述第一数据包阈值,则通过第二下降权重减少拥塞窗口,所述第一下降权重小于所述第二下降权重。If the first number is less than or equal to the first data packet threshold, the congestion window is reduced by a second decreasing weight, and the first decreasing weight is less than the second decreasing weight.

作为一种可能的实现方式,所述装置还包括拥塞窗口调整单元,用于:As a possible implementation manner, the device further includes a congestion window adjustment unit, configured to:

若所述响应信号包括确认字符,则获取所述多个网络链路分别对应的往返时延,并从所述多个网络链路分别对应的往返时延中确定一个基准时延;If the response signal includes a confirmation character, obtaining round trip delays corresponding to the plurality of network links respectively, and determining a reference delay from the round trip delays corresponding to the plurality of network links respectively;

根据所述待发送网络链路的往返时延和所述基准时延,确定所述待发送网络链路的拥塞窗口的更新速率;Determining an update rate of a congestion window of the network link to be sent according to the round-trip delay of the network link to be sent and the reference delay;

若所述更新速率大于或等于更新速率阈值,则降低所述待发送网络链路的拥塞窗口;If the update rate is greater than or equal to the update rate threshold, reducing the congestion window of the network link to be sent;

若所述更新速率小于所述更新速率阈值,则增加所述待发送网络链路的拥塞窗口。If the update rate is less than the update rate threshold, the congestion window of the network link to be sent is increased.

作为一种可能的实现方式,所述装置还包括拥塞窗口调整单元,用于:As a possible implementation manner, the device further includes a congestion window adjustment unit, configured to:

采用指数加权移动平均方式降低所述待发送网络链路的拥塞窗口。An exponentially weighted moving average method is used to reduce the congestion window of the network link to be sent.

作为一种可能的实现方式,所述装置还包括拥塞窗口调整单元,用于:As a possible implementation manner, the device further includes a congestion window adjustment unit, configured to:

确定所述待发送网络链路的缓存队列中数据包的第二数量;Determine a second number of data packets in the cache queue of the to-be-sent network link;

若所述第二数量超过第二数据包阈值,则等待再接收一个所述确认字符后,增加所述待发送网络链路的拥塞窗口;If the second number exceeds the second data packet threshold, then wait for receiving another confirmation character and then increase the congestion window of the network link to be sent;

若所述第二数量小于所述第二数据包阈值,则增加所述待发送网络链路的拥塞窗口。If the second number is less than the second data packet threshold, the congestion window of the network link to be sent is increased.

本申请实施例还提供了一种计算机设备,该计算机设备为前述介绍的计算机设备,该计算机设备可以为服务器或者终端设备,前述所述的数据包调度装置可以内置于服务器或终端设备中,下面将从硬件实体化的角度对本申请实施例提供的计算机设备进行介绍。其中,图8所示为服务器的结构示意图,图9所示为终端设备的结构示意图。The embodiment of the present application also provides a computer device, which is the computer device described above, and the computer device can be a server or a terminal device. The data packet scheduling device described above can be built into the server or the terminal device. The computer device provided by the embodiment of the present application will be introduced from the perspective of hardware entity. Among them, FIG8 shows a schematic diagram of the structure of the server, and FIG9 shows a schematic diagram of the structure of the terminal device.

参见图8,该图为本申请实施例提供的一种服务器结构示意图,该服务器1400可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器1422,如中央处理器(Central Processing Units,CPU),存储器1432,一个或一个以上应用程序1442或数据1444的存储介质1430(例如一个或一个以上海量存储设备)。其中,存储器1432和存储介质1430可以是短暂存储或持久存储。存储在存储介质1430的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,处理器1422可以设置为与存储介质1430通信,在服务器1400上执行存储介质1430中的一系列指令操作。Referring to FIG8 , which is a schematic diagram of a server structure provided in an embodiment of the present application, the server 1400 may have relatively large differences due to different configurations or performances, and may include one or more processors 1422, such as central processing units (CPU), memory 1432, one or more application programs 1442 or storage media 1430 (e.g., one or more mass storage devices) of data 1444. Among them, the memory 1432 and the storage medium 1430 may be short-term storage or permanent storage. The program stored in the storage medium 1430 may include one or more modules (not shown in the figure), and each module may include a series of instruction operations on the server. Furthermore, the processor 1422 may be configured to communicate with the storage medium 1430 and execute a series of instruction operations in the storage medium 1430 on the server 1400.

服务器1400还可以包括一个或一个以上电源1426,一个或一个以上有线或无线网络接口1450,一个或一个以上输入输出接口1458,和/或,一个或一个以上操作系统1441,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。The server 1400 may also include one or more power supplies 1426, one or more wired or wireless network interfaces 1450, one or more input and output interfaces 1458, and/or one or more operating systems 1441, such as Windows Server , Mac OS X , Unix , Linux , FreeBSD , etc.

上述实施例中由服务器所执行的步骤可以基于该图8所示的服务器结构。The steps executed by the server in the above embodiment may be based on the server structure shown in FIG. 8 .

其中,CPU 1422用于执行如下步骤:The CPU 1422 is used to perform the following steps:

若接收待分配的目标数据包,则获取多个网络链路分别对应的拥塞窗口的窗口参数,所述网络链路为用于传输所述目标数据包的通道,所述拥塞窗口的窗口参数用于描述对应的网络链路的网络状态;If a target data packet to be allocated is received, then window parameters of congestion windows corresponding to a plurality of network links are obtained, wherein the network links are channels for transmitting the target data packet, and the window parameters of the congestion windows are used to describe the network status of the corresponding network links;

根据多个所述拥塞窗口的窗口参数,确定所述多个网络链路分别对应的路由概率,所述路由概率用于描述对应的网络链路被分发所述目标数据包的概率;其中,所述拥塞窗口的窗口参数越大,对应的路由概率越大;Determine, according to the window parameters of the multiple congestion windows, the routing probabilities corresponding to the multiple network links respectively, wherein the routing probabilities are used to describe the probabilities of the corresponding network links being distributed with the target data packets; wherein the larger the window parameter of the congestion window is, the larger the corresponding routing probability is;

根据多个所述路由概率,向所述多个网络链路分发所述目标数据包。Distribute the target data packet to the plurality of network links according to the plurality of routing probabilities.

可选的,CPU 1422还可以执行本申请实施例中数据包调度方法任一具体实现方式的方法步骤。Optionally, the CPU 1422 may also execute the method steps of any specific implementation of the data packet scheduling method in the embodiments of the present application.

参见图9,该图为本申请实施例提供的一种终端设备的结构示意图。图9示出的是与本申请实施例提供的终端设备相关的智能手机的部分结构的框图,该智能手机包括:射频(Radio Frequency,简称RF)电路1510、存储器1520、输入单元1530、显示单元1540、传感器1550、音频电路1560、无线保真(简称WiFi)模块1570、处理器1580、以及电源1590等部件。本领域技术人员可以理解,图9中示出的智能手机结构并不构成对智能手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。See Figure 9, which is a schematic diagram of the structure of a terminal device provided in an embodiment of the present application. Figure 9 shows a block diagram of a partial structure of a smart phone related to the terminal device provided in an embodiment of the present application, and the smart phone includes: a radio frequency (RF) circuit 1510, a memory 1520, an input unit 1530, a display unit 1540, a sensor 1550, an audio circuit 1560, a wireless fidelity (WiFi) module 1570, a processor 1580, and a power supply 1590 and other components. Those skilled in the art will understand that the smart phone structure shown in Figure 9 does not constitute a limitation on the smart phone, and may include more or fewer components than shown, or combine certain components, or arrange components differently.

下面结合图9对智能手机的各个构成部件进行具体的介绍:The following is a detailed introduction to the various components of the smart phone in conjunction with FIG9:

RF电路1510可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器1580处理;另外,将设计上行的数据发送给基站。The RF circuit 1510 may be used for receiving and sending signals during information transmission or communication or during a call. In particular, after receiving the downlink information from the base station, it is sent to the processor 1580 for processing. In addition, the designed uplink data is sent to the base station.

存储器1520可用于存储软件程序以及模块,处理器1580通过运行存储在存储器1520的软件程序以及模块,从而实现智能手机的各种功能应用以及数据处理。The memory 1520 may be used to store software programs and modules. The processor 1580 implements various functional applications and data processing of the smartphone by running the software programs and modules stored in the memory 1520 .

输入单元1530可用于接收输入的数字或字符信息,以及产生与智能手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元1530可包括触控面板1531以及其他输入设备1532。触控面板1531,也称为触摸屏,可收集用户在其上或附近的触摸操作,并根据预先设定的程式驱动相应的连接装置。除了触控面板1531,输入单元1530还可以包括其他输入设备1532。具体地,其他输入设备1532可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。The input unit 1530 can be used to receive input digital or character information, and to generate key signal input related to the user settings and function control of the smartphone. Specifically, the input unit 1530 may include a touch panel 1531 and other input devices 1532. The touch panel 1531, also known as a touch screen, can collect user touch operations on or near it and drive the corresponding connection device according to a pre-set program. In addition to the touch panel 1531, the input unit 1530 may also include other input devices 1532. Specifically, other input devices 1532 may include, but are not limited to, one or more of a physical keyboard, function keys (such as volume control keys, switch keys, etc.), a trackball, a mouse, a joystick, and the like.

显示单元1540可用于显示由用户输入的信息或提供给用户的信息以及智能手机的各种菜单。显示单元1540可包括显示面板1541,可选的,可以采用液晶显示器(LiquidCrystal Display,简称LCD)、有机发光二极管(Organic Light-Emitting Diode,简称OLED)等形式来配置显示面板1541。The display unit 1540 may be used to display information input by the user or information provided to the user and various menus of the smartphone. The display unit 1540 may include a display panel 1541, and the display panel 1541 may be configured in the form of a liquid crystal display (LCD), an organic light-emitting diode (OLED), or the like.

智能手机还可包括至少一种传感器1550,比如光传感器、运动传感器以及其他传感器。至于智能手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。The smartphone may also include at least one sensor 1550, such as a light sensor, a motion sensor, and other sensors. As for other sensors that may be configured in the smartphone, such as a gyroscope, a barometer, a hygrometer, a thermometer, an infrared sensor, etc., they will not be described in detail here.

音频电路1560、扬声器1561,传声器1562可提供用户与智能手机之间的音频接口。音频电路1560可将接收到的音频数据转换后的电信号,传输到扬声器1561,由扬声器1561转换为声音信号输出;另一方面,传声器1562将收集的声音信号转换为电信号,由音频电路1560接收后转换为音频数据,再将音频数据输出处理器1580处理后,经RF电路1510以发送给比如另一智能手机,或者将音频数据输出至存储器1520以便进一步处理。The audio circuit 1560, the speaker 1561, and the microphone 1562 can provide an audio interface between the user and the smartphone. The audio circuit 1560 can transmit the received audio data to the speaker 1561 after converting the received audio data into an electrical signal, which is converted into a sound signal for output; on the other hand, the microphone 1562 converts the collected sound signal into an electrical signal, which is received by the audio circuit 1560 and converted into audio data, and then the audio data is output to the processor 1580 for processing, and then sent to another smartphone through the RF circuit 1510, or the audio data is output to the memory 1520 for further processing.

处理器1580是智能手机的控制中心,利用各种接口和线路连接整个智能手机的各个部分,通过运行或执行存储在存储器1520内的软件程序和/或模块,以及调用存储在存储器1520内的数据,执行智能手机的各种功能和处理数据。可选的,处理器1580可包括一个或多个处理单元。The processor 1580 is the control center of the smartphone, and uses various interfaces and lines to connect various parts of the entire smartphone, and executes various functions of the smartphone and processes data by running or executing software programs and/or modules stored in the memory 1520, and calling data stored in the memory 1520. Optionally, the processor 1580 may include one or more processing units.

智能手机还包括给各个部件供电的电源1590(比如电池),优选的,电源可以通过电源管理系统与处理器1580逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。The smart phone also includes a power supply 1590 (such as a battery) for supplying power to various components. Preferably, the power supply can be logically connected to the processor 1580 through a power management system, so that the power management system can manage functions such as charging, discharging, and power consumption management.

尽管未示出,智能手机还可以包括摄像头、蓝牙模块等,在此不再赘述。Although not shown, the smartphone may also include a camera, a Bluetooth module, etc., which will not be described in detail here.

在本申请实施例中,该智能手机所包括的存储器1520可以存储程序代码,并将所述程序代码传输给所述处理器。In the embodiment of the present application, the memory 1520 included in the smart phone can store program codes and transmit the program codes to the processor.

该智能手机所包括的处理器1580可以根据所述程序代码中的指令执行上述实施例提供的数据包调度方法。The processor 1580 included in the smart phone can execute the data packet scheduling method provided in the above embodiment according to the instructions in the program code.

本申请实施例还提供一种计算机可读存储介质,用于存储计算机程序,该计算机程序用于执行上述实施例提供的数据包调度方法。An embodiment of the present application also provides a computer-readable storage medium for storing a computer program, wherein the computer program is used to execute the data packet scheduling method provided in the above embodiment.

本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方面的各种可选实现方式中提供的数据包调度方法。The embodiment of the present application also provides a computer program product or a computer program, which includes a computer instruction, and the computer instruction is stored in a computer-readable storage medium. The processor of the computer device reads the computer instruction from the computer-readable storage medium, and the processor executes the computer instruction, so that the computer device executes the data packet scheduling method provided in various optional implementations of the above aspects.

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质可以是下述介质中的至少一种:只读存储器(英文:Read-Only Memory,缩写:ROM)、RAM、磁碟或者光盘等各种可以存储程序代码的介质。A person skilled in the art can understand that all or part of the steps of implementing the above method embodiment can be completed by hardware related to program instructions, and the above program can be stored in a computer-readable storage medium. When the program is executed, it executes the steps of the above method embodiment; and the above storage medium can be at least one of the following media: read-only memory (English: Read-Only Memory, abbreviated: ROM), RAM, magnetic disk or optical disk, etc. Various media that can store program codes.

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备及系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的设备及系统实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。It should be noted that each embodiment in this specification is described in a progressive manner, and the same and similar parts between the embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the device and system embodiments, since they are basically similar to the method embodiments, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiments. The device and system embodiments described above are merely schematic, in which the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the modules can be selected according to actual needs to achieve the purpose of the scheme of this embodiment. Ordinary technicians in this field can understand and implement it without paying creative work.

以上所述,仅为本申请的一种具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。因此,本申请的保护范围应该以权利要求的保护范围为准。The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any changes or substitutions that can be easily thought of by a technician familiar with the technical field within the technical scope disclosed in the present application should be included in the protection scope of the present application. Based on the implementation methods provided in the above aspects, the present application can also be further combined to provide more implementation methods. Therefore, the protection scope of the present application should be based on the protection scope of the claims.

Claims (15)

1.一种数据包调度方法,其特征在于,所述方法包括:1. A data packet scheduling method, characterized in that the method comprises: 若接收待分配的目标数据包,则获取多个网络链路分别对应的拥塞窗口的窗口参数,所述网络链路为用于传输所述目标数据包的通道,所述拥塞窗口的窗口参数用于描述对应的网络链路的网络状态;If a target data packet to be allocated is received, then window parameters of congestion windows corresponding to a plurality of network links are obtained, wherein the network links are channels for transmitting the target data packet, and the window parameters of the congestion windows are used to describe the network status of the corresponding network links; 根据多个所述拥塞窗口的窗口参数,确定所述多个网络链路分别对应的路由概率,所述路由概率用于描述对应的网络链路被分发所述目标数据包的概率;其中,所述拥塞窗口的窗口参数越大,对应的路由概率越大;Determine, according to the window parameters of the multiple congestion windows, the routing probabilities corresponding to the multiple network links respectively, wherein the routing probabilities are used to describe the probabilities of the corresponding network links being distributed with the target data packets; wherein the larger the window parameter of the congestion window is, the larger the corresponding routing probability is; 根据多个所述路由概率,向所述多个网络链路分发所述目标数据包。Distribute the target data packet to the plurality of network links according to the plurality of routing probabilities. 2.根据权利要求1所述的方法,其特征在于,所述多个网络链路的数量为m,m为大于1的整数,所述根据多个所述路由概率,向所述多个网络链路分发所述目标数据包,包括:2. The method according to claim 1, wherein the number of the plurality of network links is m, where m is an integer greater than 1, and the step of distributing the target data packet to the plurality of network links according to the plurality of routing probabilities comprises: 根据多个所述路由概率构造m个连续的累加区间;其中,第j个网络链路对应的第j个累加区间的起始值为前j-1个网络链路的路由概率之和,所述第j个累加区间的终止值为前j个网络链路的路由概率之和,j为小于或等于m的正整数;Constructing m continuous accumulation intervals according to the multiple routing probabilities; wherein the starting value of the jth accumulation interval corresponding to the jth network link is the sum of the routing probabilities of the previous j-1 network links, and the ending value of the jth accumulation interval is the sum of the routing probabilities of the previous j network links, and j is a positive integer less than or equal to m; 生成随机数,所述随机数大于或等于第1个累加区间的起始值,且所述随机数小于或等于第m个累加区间的终止值;Generate a random number, the random number is greater than or equal to the starting value of the first accumulation interval, and the random number is less than or equal to the ending value of the mth accumulation interval; 将所述随机数落入的累加区间对应的网络链路,确定为待发送网络链路;Determine the network link corresponding to the accumulation interval in which the random number falls as the network link to be sent; 向所述待发送网络链路分发所述目标数据包。Distribute the target data packet to the network link to be sent. 3.根据权利要求1所述的方法,其特征在于,所述根据多个所述路由概率,向所述多个网络链路分发所述目标数据包,包括:3. The method according to claim 1, characterized in that distributing the target data packet to the multiple network links according to the multiple routing probabilities comprises: 将多个所述路由概率中最大的路由概率对应的网络链路,确定为待发送网络链路;Determine the network link corresponding to the largest routing probability among the plurality of routing probabilities as the network link to be sent; 向所述待发送网络链路分发所述目标数据包。Distribute the target data packet to the network link to be sent. 4.根据权利要求1所述的方法,其特征在于,所述方法还包括:4. The method according to claim 1, characterized in that the method further comprises: 若识别目标网络链路的拥塞窗口的窗口值改变,记录更新后的窗口值和更新时间,所述目标网络链路为所述多个网络链路中的一个网络链路;If a window value of a congestion window identifying a target network link changes, recording an updated window value and an update time, the target network link being one of the plurality of network links; 将与当前时间最接近的更新时间对应的更新后的窗口值,确定为所述目标网络链路对应的拥塞窗口的窗口参数;Determine the updated window value corresponding to the update time closest to the current time as the window parameter of the congestion window corresponding to the target network link; 将所述多个网络链路分别作为所述目标网络链路,获取所述多个网络链路分别对应的拥塞窗口的窗口参数。The multiple network links are respectively used as the target network links, and window parameters of congestion windows corresponding to the multiple network links are obtained. 5.根据权利要求1所述的方法,其特征在于,所述方法还包括:5. The method according to claim 1, characterized in that the method further comprises: 若识别目标网络链路的拥塞窗口的窗口值改变,记录更新后的窗口值和更新时间,所述目标网络链路为所述多个网络链路中的一个网络链路;If a window value of a congestion window identifying a target network link changes, recording an updated window value and an update time, the target network link being one of the plurality of network links; 根据更新时间确定所述目标网络链路在链路影响期内的拥塞窗口的窗口值,所述链路影响期为预先设定的一个时间段;Determine, according to the update time, a window value of a congestion window of the target network link within a link impact period, wherein the link impact period is a preset time period; 根据所述目标网络链路在所述链路影响期内的拥塞窗口的窗口值,确定所述目标网络链路的拥塞窗口的窗口参数。A window parameter of the congestion window of the target network link is determined according to a window value of the congestion window of the target network link during the link influence period. 6.根据权利要求5所述的方法,其特征在于,所述根据所述目标网络链路在所述链路影响期内的拥塞窗口的窗口值,确定所述目标网络链路的拥塞窗口的窗口参数,包括:6. The method according to claim 5, characterized in that the determining the window parameter of the congestion window of the target network link according to the window value of the congestion window of the target network link during the link influence period comprises: 根据所述目标网络链路在所述链路影响期内的拥塞窗口的窗口值,确定所述目标网络链路在所述链路影响期内的窗口调整次数;Determining the number of window adjustments of the target network link during the link impact period according to the window value of the congestion window of the target network link during the link impact period; 获取目标更新时间与所述目标数据包等待分配的时刻的差值,所述目标更新时间为所述目标网络链路在所述链路影响期内的更新时间的一个;Obtaining a difference between a target update time and a time when the target data packet is waiting for allocation, wherein the target update time is one of the update times of the target network link during the link influence period; 获取所述差值与所述目标更新时间对应的拥塞窗口的窗口值的比值;Obtaining a ratio of the difference to a window value of a congestion window corresponding to the target update time; 将所述目标网络链路在所述链路影响期内的更新时间分别作为所述目标更新时间,获取多个比值之和;Taking the update time of the target network link during the link influence period as the target update time, and obtaining the sum of multiple ratios; 将所述窗口调整次数和所述比值之和的比值,确定为所述目标网络链路的拥塞窗口的窗口参数。The ratio of the window adjustment times to the sum of the ratios is determined as the window parameter of the congestion window of the target network link. 7.根据权利要求5所述的方法,其特征在于,所述根据所述目标网络链路在所述链路影响期内的拥塞窗口的窗口值,确定所述目标网络链路的拥塞窗口的窗口参数,包括:7. The method according to claim 5, characterized in that the determining the window parameter of the congestion window of the target network link according to the window value of the congestion window of the target network link during the link influence period comprises: 确定所述目标网络链路在所述链路影响期内的拥塞窗口的窗口值的算数平均值;Determine an arithmetic mean of window values of the congestion window of the target network link during the link influence period; 将所述算数平均值确定为所述目标网络链路的拥塞窗口的窗口参数。The arithmetic mean is determined as a window parameter of a congestion window of the target network link. 8.根据权利要求1所述的方法,其特征在于,通过待发送网络链路发送所述目标数据包后,所述方法还包括:8. The method according to claim 1, characterized in that after sending the target data packet through the network link to be sent, the method further comprises: 获取接收端返回的响应信号;Get the response signal returned by the receiving end; 若所述响应信号不包括确认字符,则确定所述待发送网络链路的缓存队列中数据包的第一数量;If the response signal does not include a confirmation character, determining a first number of data packets in a cache queue of the to-be-sent network link; 若所述第一数量大于第一数据包阈值,则通过第一下降权重减小拥塞窗口;If the first number is greater than a first packet threshold, reducing the congestion window by a first decreasing weight; 若所述第一数量小于或等于所述第一数据包阈值,则通过第二下降权重减少拥塞窗口,所述第一下降权重小于所述第二下降权重。If the first number is less than or equal to the first data packet threshold, the congestion window is reduced by a second decreasing weight, and the first decreasing weight is less than the second decreasing weight. 9.根据权利要求8所述的方法,其特征在于,所述方法还包括:9. The method according to claim 8, characterized in that the method further comprises: 若所述响应信号包括确认字符,则获取所述多个网络链路分别对应的往返时延,并从所述多个网络链路分别对应的往返时延中确定一个基准时延;If the response signal includes a confirmation character, obtaining round trip delays corresponding to the plurality of network links respectively, and determining a reference delay from the round trip delays corresponding to the plurality of network links respectively; 根据所述待发送网络链路的往返时延和所述基准时延,确定所述待发送网络链路的拥塞窗口的更新速率;Determining an update rate of a congestion window of the network link to be sent according to the round-trip delay of the network link to be sent and the reference delay; 若所述更新速率大于或等于更新速率阈值,则降低所述待发送网络链路的拥塞窗口;If the update rate is greater than or equal to the update rate threshold, reducing the congestion window of the network link to be sent; 若所述更新速率小于所述更新速率阈值,则增加所述待发送网络链路的拥塞窗口。If the update rate is less than the update rate threshold, the congestion window of the network link to be sent is increased. 10.根据权利要求9所述的方法,其特征在于,所述降低所述待发送网络链路的拥塞窗口,包括:10. The method according to claim 9, characterized in that the step of reducing the congestion window of the network link to be sent comprises: 采用指数加权移动平均方式降低所述待发送网络链路的拥塞窗口。An exponentially weighted moving average method is used to reduce the congestion window of the network link to be sent. 11.根据权利要求9所述的方法,其特征在于,所述增加所述待发送网络链路的拥塞窗口,包括:11. The method according to claim 9, wherein increasing the congestion window of the network link to be sent comprises: 确定所述待发送网络链路的缓存队列中数据包的第二数量;Determine a second number of data packets in the cache queue of the to-be-sent network link; 若所述第二数量超过第二数据包阈值,则等待再接收一个所述确认字符后,增加所述待发送网络链路的拥塞窗口;If the second number exceeds the second data packet threshold, then wait for receiving another confirmation character and then increase the congestion window of the network link to be sent; 若所述第二数量小于所述第二数据包阈值,则增加所述待发送网络链路的拥塞窗口。If the second number is less than the second data packet threshold, the congestion window of the network link to be sent is increased. 12.一种数据包调度装置,其特征在于,所述装置包括:获取单元、确定单元和发送单元;12. A data packet scheduling device, characterized in that the device comprises: an acquisition unit, a determination unit and a sending unit; 所述获取单元,用于若接收待分配的目标数据包,则获取多个网络链路分别对应的拥塞窗口的窗口参数,所述网络链路为用于传输所述目标数据包的通道,所述拥塞窗口的窗口参数用于描述对应的网络链路的网络状态;The acquisition unit is used to acquire window parameters of congestion windows corresponding to a plurality of network links respectively if receiving a target data packet to be allocated, wherein the network link is a channel for transmitting the target data packet, and the window parameters of the congestion window are used to describe the network status of the corresponding network link; 所述确定单元,用于根据多个所述拥塞窗口的窗口参数,确定所述多个网络链路分别对应的路由概率,所述路由概率用于描述对应的网络链路被分发所述目标数据包的概率;其中,所述拥塞窗口的窗口参数越大,对应的路由概率越大;The determining unit is used to determine the routing probabilities corresponding to the plurality of network links respectively according to the window parameters of the plurality of congestion windows, wherein the routing probabilities are used to describe the probabilities of the corresponding network links being distributed with the target data packets; wherein the larger the window parameter of the congestion window is, the larger the corresponding routing probability is; 所述发送单元,用于根据多个所述路由概率,向所述多个网络链路分发所述目标数据包。The sending unit is used to distribute the target data packet to the multiple network links according to the multiple routing probabilities. 13.一种计算机设备,其特征在于,所述计算机设备包括处理器以及存储器:13. A computer device, characterized in that the computer device comprises a processor and a memory: 所述存储器用于存储计算机程序,并将所述计算机程序传输给所述处理器;The memory is used to store a computer program and transmit the computer program to the processor; 所述处理器用于根据所述计算机程序中的指令执行权利要求1-11中任意一项所述的方法。The processor is configured to execute the method according to any one of claims 1 to 11 according to the instructions in the computer program. 14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行权利要求1-11中任意一项所述的方法。14. A computer-readable storage medium, characterized in that the computer-readable storage medium is used to store a computer program, and the computer program is used to execute the method according to any one of claims 1 to 11. 15.一种包括计算机程序的计算机程序产品,其特征在于,当其在计算机设备上运行时,使得所述计算机设备执行权利要求1-11中任意一项所述的方法。15. A computer program product comprising a computer program, characterized in that when the computer program product is run on a computer device, the computer device is enabled to execute the method according to any one of claims 1 to 11.
CN202310094107.6A 2023-01-13 2023-01-13 Data packet scheduling method and related device Pending CN118353850A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310094107.6A CN118353850A (en) 2023-01-13 2023-01-13 Data packet scheduling method and related device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310094107.6A CN118353850A (en) 2023-01-13 2023-01-13 Data packet scheduling method and related device

Publications (1)

Publication Number Publication Date
CN118353850A true CN118353850A (en) 2024-07-16

Family

ID=91817662

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310094107.6A Pending CN118353850A (en) 2023-01-13 2023-01-13 Data packet scheduling method and related device

Country Status (1)

Country Link
CN (1) CN118353850A (en)

Similar Documents

Publication Publication Date Title
US9596281B2 (en) Transport accelerator implementing request manager and connection manager functionality
US9930097B2 (en) Transport accelerator systems and methods
WO2024021777A1 (en) Data transmission method, related apparatus, device and storage medium
US20240108980A1 (en) Method, apparatuses and systems directed to adapting user input in cloud gaming
CN109862377B (en) Video transmission method, device, system and computer readable storage medium
US11924255B2 (en) Data transmission method and apparatus, server, storage medium, and program product
CN115834556B (en) Data transmission method, system, device, storage medium and program product
WO2022160728A1 (en) Service flow staggered scheduling method and related device
CN105516262A (en) Remote control method and system of application program
CN108355350A (en) A kind of application service cut-in method and device based on mobile edge calculations
CN112118177A (en) Method and apparatus for controlling multiple connections to increase data transfer rate
US20190394789A1 (en) Enforcing station fairness with mu-mimo deployments
CN113316263A (en) Data transmission method, device, equipment and storage medium
Han et al. Qoe oriented adaptive streaming method for 360 virtual reality videos
CN113687876B (en) Information processing method, automatic driving control method and electronic device
US20240080275A1 (en) Method and apparatus for quality of service assurance for webrtc sessions in 5g networks
CN118353850A (en) Data packet scheduling method and related device
CN112737971A (en) Data processing method, device, storage medium and network equipment
US20140244798A1 (en) TCP-Based Weighted Fair Video Delivery
US12041303B1 (en) Bandwidth estimation for video encoding
US20240298051A1 (en) Data relay apparatus, distribution system, data relay method, and computer-readable medium
Vainio et al. Flow Control Solution to Avoid Bottlenecks in Edge Computing for Video Analytics
CN117938769A (en) Congestion window adjusting method and device, electronic equipment and medium
Huynh et al. User-Intent Aware Transport-Layer Intelligence for Frame Synchronisation in Multi-Party XR Application
US10666552B2 (en) Apparatus for forwarding interest in parallel using multipath in content-centric networking and method thereof

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication