CN114039926B - Transmission control protocol determining method and device, readable medium and electronic equipment - Google Patents

Transmission control protocol determining method and device, readable medium and electronic equipment Download PDF

Info

Publication number
CN114039926B
CN114039926B CN202111306950.3A CN202111306950A CN114039926B CN 114039926 B CN114039926 B CN 114039926B CN 202111306950 A CN202111306950 A CN 202111306950A CN 114039926 B CN114039926 B CN 114039926B
Authority
CN
China
Prior art keywords
transmission control
control protocol
priority
network
target
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.)
Active
Application number
CN202111306950.3A
Other languages
Chinese (zh)
Other versions
CN114039926A (en
Inventor
邸卫光
王剑
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing ByteDance Network Technology Co Ltd
Original Assignee
Beijing ByteDance Network Technology 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 Beijing ByteDance Network Technology Co Ltd filed Critical Beijing ByteDance Network Technology Co Ltd
Priority to CN202111306950.3A priority Critical patent/CN114039926B/en
Publication of CN114039926A publication Critical patent/CN114039926A/en
Application granted granted Critical
Publication of CN114039926B publication Critical patent/CN114039926B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/24Traffic characterised by specific attributes, e.g. priority or QoS
    • 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/28Flow control; Congestion control in relation to timing considerations
    • H04L47/283Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/163In-band adaptation of TCP data exchange; In-band control procedures

Abstract

The disclosure relates to a transmission control protocol determining method, a device, a readable medium and an electronic apparatus, wherein the method comprises the following steps: acquiring network environment information; determining a target priority rule matched with the network environment information from a plurality of priority rules, wherein the priority rules are used for reflecting the priority order of transmission control protocols included in a first transmission control protocol list corresponding to the priority rules, different priority rules correspond to different priority orders of transmission control protocols in the first transmission control protocol list, and congestion control algorithms of different transmission control protocols in the first transmission control protocol list are different; determining a target transmission control protocol for the terminal equipment based on the target priority rule and the second transmission control protocol list; the second transmission control protocol list includes transmission control protocols supported by the terminal device. The method can dynamically adjust the congestion control algorithm and improve the network performance.

Description

Transmission control protocol determining method and device, readable medium and electronic equipment
Technical Field
The disclosure relates to the technical field of communication, and in particular relates to a transmission control protocol determining method, a transmission control protocol determining device, a readable medium and electronic equipment.
Background
The transmission control protocol (TCP, transmission Control Protocol) is a transport protocol specifically designed to provide reliable end-to-end byte streams over unreliable internetworks. TCP congestion control is an algorithm for avoiding network congestion by a transmission control protocol, and the network congestion may cause problems of increased transmission delay, increased packet loss rate, reduced throughput and the like of the network, and may cause network breakdown when serious.
Therefore, how to realize efficient congestion control is a technical problem to be solved.
Disclosure of Invention
This section is provided to introduce a selection of concepts in a simplified form that are further described below in the detailed description. This section is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
In a first aspect, the present disclosure provides a transmission control protocol determining method, including:
acquiring network environment information;
determining a target priority rule matched with the network environment information from a plurality of priority rules, wherein the priority rules are used for reflecting the priority order of transmission control protocols included in a first transmission control protocol list corresponding to the priority rules, different priority rules correspond to different priority orders of transmission control protocols in the first transmission control protocol list, and congestion control algorithms of different transmission control protocols in the first transmission control protocol list are different;
Determining a target transmission control protocol for the terminal equipment based on the target priority rule and the second transmission control protocol list; the second transmission control protocol list includes transmission control protocols supported by the terminal device.
In a second aspect, the present disclosure provides a transmission control protocol determining apparatus, including:
an acquisition module configured to acquire network environment information;
a first determining module, configured to determine a target priority rule matched with the network environment information from a plurality of priority rules, where the priority rule is used to reflect a priority order of transmission control protocols included in a first transmission control protocol list corresponding to the priority rule, different priority rules correspond to different priority orders of transmission control protocols in the first transmission control protocol list, and congestion control algorithms of different transmission control protocols in the first transmission control protocol list are different;
a second determining module configured to determine a target transmission control protocol for the terminal device based on the target priority rule and the second transmission control protocol list; the second transmission control protocol list includes transmission control protocols supported by the terminal device.
In a third aspect, the present disclosure provides a computer readable medium having stored thereon a computer program which when executed by a processing device performs the steps of the method of the first aspect.
In a fourth aspect, the present disclosure provides an electronic device comprising:
a storage device having one or more computer programs stored thereon;
one or more processing means for executing the one or more computer programs in the storage means to effect the steps of the method of the first aspect.
According to the technical scheme, the target priority rule is determined based on the network environment information, the target transmission control protocol conforming to the current network environment information is selected for the terminal equipment based on the target priority rule and the second transmission control protocol list, and the congestion control algorithm actually used can be dynamically adjusted based on different network environment information, so that the network performance and the user experience are improved.
Additional features and advantages of the present disclosure will be set forth in the detailed description which follows.
Drawings
The above and other features, advantages, and aspects of embodiments of the present disclosure will become more apparent by reference to the following detailed description when taken in conjunction with the accompanying drawings. The same or similar reference numbers will be used throughout the drawings to refer to the same or like elements. It should be understood that the figures are schematic and that elements and components are not necessarily drawn to scale. In the drawings:
Fig. 1 is a flowchart illustrating a transmission control protocol determination method according to an exemplary embodiment of the present disclosure.
Fig. 2 is a block diagram illustrating a transmission control protocol determination apparatus according to an exemplary embodiment of the present disclosure.
Fig. 3 is a schematic structural view of an electronic device according to an exemplary embodiment of the present disclosure.
Detailed Description
Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. While certain embodiments of the present disclosure have been shown in the accompanying drawings, it is to be understood that the present disclosure may be embodied in various forms and should not be construed as limited to the embodiments set forth herein, but are provided to provide a more thorough and complete understanding of the present disclosure. It should be understood that the drawings and embodiments of the present disclosure are for illustration purposes only and are not intended to limit the scope of the present disclosure.
It should be understood that the various steps recited in the method embodiments of the present disclosure may be performed in a different order and/or performed in parallel. Furthermore, method embodiments may include additional steps and/or omit performing the illustrated steps. The scope of the present disclosure is not limited in this respect.
The term "including" and variations thereof as used herein are intended to be open-ended, i.e., including, but not limited to. The term "based on" is based at least in part on. The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; the term "some embodiments" means "at least some embodiments. Related definitions of other terms will be given in the description below.
It should be noted that the terms "first," "second," and the like in this disclosure are merely used to distinguish between different devices, modules, or units and are not used to define an order or interdependence of functions performed by the devices, modules, or units.
It should be noted that references to "one", "a plurality" and "a plurality" in this disclosure are intended to be illustrative rather than limiting, and those of ordinary skill in the art will appreciate that "one or more" is intended to be understood as "one or more" unless the context clearly indicates otherwise.
The names of messages or information interacted between the various devices in the embodiments of the present disclosure are for illustrative purposes only and are not intended to limit the scope of such messages or information.
Before describing a transmission control protocol determining method provided by the present disclosure, first, application scenarios related to various embodiments of the present disclosure are described, where the present disclosure may be applied to a terminal device, for example, an application program of the terminal device, to request a handover of a congestion control algorithm in a network process.
Fig. 1 is a flowchart illustrating a transmission control protocol determination method according to an exemplary embodiment of the present disclosure. As shown in fig. 1, the method may include the steps of:
In step S11, network environment information is acquired.
In some embodiments, the network environment information may reflect at least network quality and network type. In some embodiments, the network quality may reflect at least a network level, which may reflect the network signal strength. In some embodiments, the network levels may include at least strong, medium, and weak networks. In some embodiments, the network level may also reflect the network type. For example, the network level may include weak 4G and strong 4G, which may reflect that the network type is 4G.
In some embodiments, the network quality may be analyzed based on network quality data collected by the terminal device (e.g., an application of the terminal device). In some embodiments, the network quality data may include at least an http RTT (http Round-Trip Time) and a TCP RTT (TCP Round-Trip Time). The http RTT may refer to the time difference between the beginning of the transmission of the first byte of the request of the terminal device and the reception of the first byte of the http header. The TCP RTT may refer to the time difference between when the first byte of the TCP channel of the end device is transmitted to when the first byte is received. In some embodiments, the longer the http RTT and TCP RTT are, the worse the network quality is characterized.
In some embodiments, the network quality data may be processed based on a network quality analysis algorithm to obtain network quality. The network quality analysis is a real-time network performance detection and statistics technology, can count network information such as response time, network jitter, packet loss rate and the like, monitors a network in real time, and effectively diagnoses and positions the network when the network fails.
In some embodiments, the network types may include at least a wireless network and a fixed network. The wireless network may include at least 3G, 4G, 5G, wifi and bluetooth. The fixed network may include at least PON (Passive Optical Network, passive fiber network), DSL (Digital Subscriber Line, asymmetric digital subscriber line), RJ45 network cable, EOC (Ethernet Over Cable, ethernet cable). In some embodiments, the network type may be obtained by invoking the relevant interface.
In some embodiments, obtaining network environment information may include: and responding to the preset triggering operation of the application program, acquiring network environment information from a preset storage area, wherein the preset storage area is used for storing the network environment information obtained through periodic detection. In some embodiments, the preset trigger operation may be specifically set according to the actual situation, for example, the preset trigger operation may be to initiate a network request.
In some embodiments, in response to the start of the application, the terminal device (e.g., the application of the terminal device) may periodically collect network quality data, and analyze the network quality data collected in each period to obtain the network quality of the period, so as to realize periodic detection to obtain the network quality. In some embodiments, the preset storage area may be used to store network environment information, i.e. network quality and network type, obtained by periodic detection by an application program of the terminal device.
In step S12, a target priority rule matched with the network environment information is determined from a plurality of priority rules, where the priority rule is used to reflect the priority order of the transmission control protocols included in the first transmission control protocol list corresponding to the priority rule, where different priority rules correspond to different priority orders of the transmission control protocols in the first transmission control protocol list, and congestion control algorithms of different transmission control protocols in the first transmission control protocol list are different.
In some embodiments, the transmission control protocol may include a congestion control algorithm. In some embodiments, the transmission control protocol included in the first transmission control protocol list may be selected from all congestion control algorithms supported by an operating system of the terminal device. In some embodiments, the operating system of the terminal device may include an Android system and a Linux system.
In some embodiments, all congestion algorithms supported by the operating system of the terminal device may include: bic, cubic, htcp, hybla, vegas, westwood, veno, reno, dctccp, cdg, bbr, and bbr 2. Details of all the foregoing algorithms may be found in the related art, and are not described herein.
In some embodiments, the plurality of priority rules may be predefined. In some embodiments, the priority rule, the network quality and the network type are in one-to-one correspondence, and for any priority rule, in the first transmission control protocol list corresponding to the priority rule, the priority order of each transmission control protocol is determined based on the network congestion control effect of the transmission control protocol under the network type and the network quality corresponding to the priority rule.
In some embodiments, in a case where the network quality is a strong network and the network type is a wireless network, the transmission control protocol of the first transmission control protocol list corresponding to the priority rule may include: cdg algorithm, BBR2 algorithm, BBR algorithm, westwood algorithm, veno algorithm, cubic algorithm, bic algorithm and reno algorithm. Based on congestion control effects of the transmission control protocols under the conditions of strong networks and wireless networks, the priority of each transmission control protocol in the first transmission control protocol list is cdg algorithm, BBR2 algorithm, BBR algorithm, westwood algorithm, veno algorithm, cubic algorithm, bic algorithm and reno algorithm in sequence from high to low. Therefore, in the case where the network quality is a strong network and the network type is a wireless network, the priority rule is cdg > BBR2> BBR > westwood > veno > cubic > bic > reno.
In some embodiments, in a case where the network quality is a medium network and the network type is a wireless network, the transmission control protocol of the first transmission control protocol list corresponding to the priority rule may include: BBR2 algorithm, BBR algorithm, cdg algorithm, westwood algorithm, veno algorithm, cubic algorithm, bic algorithm, and reno algorithm. Based on congestion control effects of the transmission control protocols under the conditions of strong networks and wireless networks, the priority of each transmission control protocol in the first transmission control protocol list is BBR2 algorithm, BBR algorithm, cdg algorithm, westwood algorithm, veno algorithm, cubic algorithm, bic algorithm and reno algorithm in sequence from high to low. Thus, in the case where the network quality is a medium network and the network type is a wireless network, the priority rule is BBR2> BBR > cdg > westwood > veno > cubic > bic > reno.
In some embodiments, in a case where the network quality is a weak network and the network type is a wireless network, the transmission control protocol of the first transmission control protocol list corresponding to the priority rule may include: BBR2 algorithm, BBR algorithm, cdg algorithm, westwood algorithm, veno algorithm, cubic algorithm, bic algorithm, and reno algorithm. Based on congestion control effects of the transmission control protocols under the conditions of strong networks and wireless networks, the priority of each transmission control protocol in the first transmission control protocol list is BBR2 algorithm, BBR algorithm, cdg algorithm, westwood algorithm, veno algorithm, cubic algorithm, bic algorithm and reno algorithm in sequence from high to low. Therefore, in the case where the network quality is a strong network and the network type is a wireless network, the priority rule is BBR2> BBR > cdg > westwood > veno > cubic > bic > reno.
In some embodiments, in a case where the network quality is a strong network and the network type is a fixed network, the transmission control protocol of the first transmission control protocol list corresponding to the priority rule may include: BBR2 algorithm, BBR algorithm, htcp algorithm, dchtcp algorithm, cdg algorithm, veno algorithm, cubic algorithm, bic algorithm, reno algorithm and westwood algorithm. Based on congestion control effects of the transmission control protocols under the conditions of strong network and fixed network, the priority of each transmission control protocol in the first transmission control protocol list is BBR2 algorithm, BBR algorithm, htcp algorithm, dchtcp algorithm, cdg algorithm, veno algorithm, cubic algorithm, bic algorithm, reno algorithm and westwood algorithm in sequence from high to low. Therefore, in the case where the network quality is a strong network and the network type is a fixed network, the priority rule is BBR2> BBR > htcp > dctccp > cdg > veno > cubic > bic > reno > westwood.
In some embodiments, in a case where the network quality is a medium network and the network type is a fixed network, the transmission control protocol of the first transmission control protocol list corresponding to the priority rule may include: BBR2 algorithm, BBR algorithm, htcp algorithm, dchtcp algorithm, cdg algorithm, veno algorithm, cubic algorithm, bic algorithm, reno algorithm and westwood algorithm. Based on congestion control effects of the transmission control protocols under the medium network and the fixed network, the priority of each transmission control protocol in the first transmission control protocol list is BBR2 algorithm, BBR algorithm, htcp algorithm, dchtcp algorithm, cdg algorithm, veno algorithm, cubic algorithm, bic algorithm, reno algorithm and westwood algorithm in sequence from high to low. Therefore, in the case where the network quality is a medium network and the network type is a fixed network, the priority rule is BBR2> BBR > htcp > dctccp > cdg > veno > cubic > bic > reno > westwood.
In some embodiments, in a case where the network quality is a weak network and the network type is a fixed network, the transmission control protocol of the first transmission control protocol list corresponding to the priority rule may include: BBR2 algorithm, BBR algorithm, htcp algorithm, dchtcp algorithm, cdg algorithm, veno algorithm, cubic algorithm, bic algorithm, reno algorithm and westwood algorithm. Based on congestion control effects of the transmission control protocols under the conditions of weak network and fixed network, the priority of each transmission control protocol in the first transmission control protocol list is BBR2 algorithm, BBR algorithm, htcp algorithm, dchtcp algorithm, cdg algorithm, veno algorithm, cubic algorithm, bic algorithm, reno algorithm and westwood algorithm in sequence from high to low. Therefore, in the case where the network quality is a weak network and the network type is a fixed network, the priority rule is BBR2> BBR > htcp > dctccp > cdg > veno > cubic > bic > reno > westwood.
In the embodiment of the disclosure, after the network environment information is acquired by presetting a plurality of priority rules, a target priority rule matched with the network environment information can be directly selected according to the preset plurality of priority rules, so that the target transmission control protocol is determined based on the target priority rule and the second transmission control protocol list, further analysis on the acquired network environment information is not needed, and the efficiency of determining the target transmission control protocol is improved.
In step S13, determining a target transmission control protocol for the terminal device based on the target priority rule and the second transmission control protocol list; the second transmission control protocol list includes transmission control protocols supported by the terminal device.
In some embodiments, the second transmission control protocol list may include transmission control protocols commonly supported by an operating system and model of the terminal device. In some embodiments, the model of the terminal device may support different congestion control algorithms. The congestion control algorithm supported by the model of the terminal device may be determined according to factory settings of the device.
In some embodiments, determining a target transmission control protocol for the terminal device based on the target priority rule and the second transmission control protocol list comprises: determining the transmission control protocol commonly included in the first transmission control protocol list corresponding to the second transmission control protocol list and the target priority rule as a candidate transmission control protocol; and determining the candidate transmission control protocol with the highest priority in the first transmission protocol list as a target transmission control protocol. For example, taking the example that the transmission control protocol in the second transmission control protocol list includes the BBR2 algorithm, the BBR algorithm and the westwood algorithm, if the target priority rule is cdg > BBR2> BBR > westwood > veno > cubic > bic > reno, since the BBR2 algorithm, the BBR algorithm and the westwood algorithm are included in the first transmission control protocol list corresponding to the target priority rule, the BBR2 algorithm, the BBR algorithm and the westwood algorithm are candidate transmission control protocols, and at this time, the priority of the BBR2 algorithm in the target priority rule is the highest, and the BBR2 algorithm is the target transmission control protocol.
In some embodiments, determining a target transmission control protocol for the terminal device based on the target priority rule and the second transmission control protocol list comprises: and determining the initial transmission control protocol set by the terminal equipment as the target transmission control protocol under the condition that the first transmission control protocol list corresponding to the target priority rule does not have the same transmission control protocol in the second transmission control protocol list. For example, taking an example that the tcp in the second tcp list includes an htcp algorithm and a dctccp algorithm, if the target priority rule is cdg > BBR2> BBR > westwood > veno > cubic > bic > reno, since the htcp algorithm and the dctccp algorithm are not included in the first tcp list corresponding to the target priority rule, the initial tcp set by the terminal device is determined to be the target tcp. For example, the initial transmission control protocol of the terminal device is an htcp algorithm, and the htcp algorithm is a target transmission control protocol.
In some embodiments, the terminal device (e.g., an application of the terminal device) may set a target transmission control protocol for a socket by calling a setsockopt function to implement setting of a congestion control algorithm of the terminal device. socket is an abstraction of an endpoint that communicates bi-directionally between application processes on different hosts in a network. One socket is the end of the network where processes communicate, providing a mechanism for application layer processes to exchange data using network protocols. In terms of the position, the socket is connected with the application process in an upper mode, and the socket is connected with the network protocol stack in a lower mode, so that the socket is an interface for the application program to communicate through the network protocol, and is an interface for the application program to interact with the network protocol root.
In the embodiment of the disclosure, since the second transmission control protocol list includes the transmission control protocols commonly supported by the operating system and the model of the terminal device, determining the target transmission control protocol based on the target priority rule and the second transmission control protocol list can realize a congestion control algorithm supported by the network environment information and the model of the terminal device, dynamically adjust the congestion control algorithm actually used, and improve network performance.
Based on the same conception, the present disclosure also provides a transmission control protocol determining apparatus. Fig. 2 is a block diagram of a transmission control protocol determining apparatus according to an exemplary embodiment of the present disclosure, and as shown in fig. 2, the apparatus 200 includes:
an acquisition module 201 configured to acquire network environment information;
a first determining module 202, configured to determine a target priority rule matched with the network environment information from a plurality of priority rules, where the priority rule is used to reflect a priority order of transmission control protocols included in a first transmission control protocol list corresponding to the priority rule, different priority rules correspond to different priority orders of transmission control protocols in the first transmission control protocol list, and congestion control algorithms of different transmission control protocols in the first transmission control protocol list are different;
A second determining module 203 configured to determine a target transmission control protocol for the terminal device based on the target priority rule and the second transmission control protocol list; the second transmission control protocol list includes transmission control protocols supported by the terminal device.
In some embodiments, the second determination module 203 is further configured to:
determining the transmission control protocol commonly included in the first transmission control protocol list corresponding to the second transmission control protocol list and the target priority rule as a candidate transmission control protocol;
and determining the candidate transmission control protocol with the highest priority in the first transmission protocol list as a target transmission control protocol.
In some embodiments, the second determination module 203 is further configured to:
and determining the initial transmission control protocol set by the terminal equipment as the target transmission control protocol under the condition that the first transmission control protocol list corresponding to the target priority rule does not have the same transmission control protocol in the second transmission control protocol list.
In some embodiments, the second transmission control protocol list includes transmission control protocols commonly supported by an operating system and model of the terminal device.
In some embodiments, the network environment information reflects at least network quality and network type.
In some embodiments, the priority rule, the network quality and the network type are in one-to-one correspondence, and for any priority rule, in the first transmission control protocol list corresponding to the priority rule, the priority order of each transmission control protocol is determined based on the network congestion control effect of the transmission control protocol under the network type and the network quality corresponding to the priority rule.
In some embodiments, the acquisition module 201 is further configured to:
and responding to the preset triggering operation of the application program, acquiring network environment information from a preset storage area, wherein the preset storage area is used for storing the network environment information obtained through periodic detection.
Referring now to fig. 3, a schematic diagram of an electronic device (e.g., the terminal device of fig. 1) 300 suitable for use in implementing embodiments of the present disclosure is shown. The terminal devices in the embodiments of the present disclosure may include, but are not limited to, mobile terminals such as mobile phones, notebook computers, digital broadcast receivers, PDAs (personal digital assistants), PADs (tablet computers), PMPs (portable multimedia players), in-vehicle terminals (e.g., in-vehicle navigation terminals), and the like, and stationary terminals such as digital TVs, desktop computers, and the like. The electronic device shown in fig. 3 is merely an example and should not be construed to limit the functionality and scope of use of the disclosed embodiments.
As shown in fig. 3, the electronic device 300 may include a processing means (e.g., a central processing unit, a graphics processor, etc.) 301 that may perform various suitable actions and processes in accordance with a program stored in a Read Only Memory (ROM) 302 or a program loaded from a storage means 308 into a Random Access Memory (RAM) 303. In the RAM 303, various programs and data required for the operation of the electronic apparatus 300 are also stored. The processing device 301, the ROM 302, and the RAM 303 are connected to each other via a bus 304. An input/output (I/O) interface 305 is also connected to bus 304.
In general, the following devices may be connected to the I/O interface 305: input devices 306 including, for example, a touch screen, touchpad, keyboard, mouse, camera, microphone, accelerometer, gyroscope, etc.; an output device 307 including, for example, a Liquid Crystal Display (LCD), a speaker, a vibrator, and the like; storage 308 including, for example, magnetic tape, hard disk, etc.; and communication means 309. The communication means 309 may allow the electronic device 300 to communicate with other devices wirelessly or by wire to exchange data. While fig. 3 shows an electronic device 300 having various means, it is to be understood that not all of the illustrated means are required to be implemented or provided. More or fewer devices may be implemented or provided instead.
In particular, according to embodiments of the present disclosure, the processes described above with reference to flowcharts may be implemented as computer software programs. For example, embodiments of the present disclosure include a computer program product comprising a computer program embodied on a non-transitory computer readable medium, the computer program comprising program code for performing the method shown in the flow chart. In such an embodiment, the computer program may be downloaded and installed from a network via a communication device 309, or installed from a storage device 308, or installed from a ROM 302. The above-described functions defined in the methods of the embodiments of the present disclosure are performed when the computer program is executed by the processing means 301.
It should be noted that the computer readable medium described in the present disclosure may be a computer readable signal medium or a computer readable storage medium, or any combination of the two. The computer readable storage medium can be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or a combination of any of the foregoing. More specific examples of the computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this disclosure, a computer-readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. In the present disclosure, however, the computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, with the computer-readable program code embodied therein. Such a propagated data signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination of the foregoing. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to: electrical wires, fiber optic cables, RF (radio frequency), and the like, or any suitable combination of the foregoing.
In some implementations, the clients may communicate using any currently known or future developed network protocol, such as HTTP (HyperText Transfer Protocol ), and may be interconnected with any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network ("LAN"), a wide area network ("WAN"), the internet (e.g., the internet), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks), as well as any currently known or future developed networks.
The computer readable medium may be contained in the electronic device; or may exist alone without being incorporated into the electronic device.
The computer readable medium carries one or more programs which, when executed by the electronic device, cause the electronic device to: acquiring network environment information; determining a target priority rule matched with the network environment information from a plurality of priority rules, wherein the priority rules are used for reflecting the priority order of transmission control protocols included in a first transmission control protocol list corresponding to the priority rules, different priority rules correspond to different priority orders of transmission control protocols in the first transmission control protocol list, and congestion control algorithms of different transmission control protocols in the first transmission control protocol list are different; determining a target transmission control protocol for the terminal equipment based on the target priority rule and the second transmission control protocol list; the second transmission control protocol list includes transmission control protocols supported by the terminal device.
Computer program code for carrying out operations of the present disclosure may be written in one or more programming languages, including, but not limited to, an object oriented programming language such as Java, smalltalk, C ++ and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to an external computer (for example, through the Internet using an Internet service provider).
The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The modules described in the embodiments of the present disclosure may be implemented in software or hardware. The name of a module is not limited to the module itself in some cases, and for example, the acquisition module may also be described as "a module that acquires network environment information".
The functions described above herein may be performed, at least in part, by one or more hardware logic components. For example, without limitation, exemplary types of hardware logic components that may be used include: a Field Programmable Gate Array (FPGA), an Application Specific Integrated Circuit (ASIC), an Application Specific Standard Product (ASSP), a system on a chip (SOC), a Complex Programmable Logic Device (CPLD), and the like.
In the context of this disclosure, a machine-readable medium may be a tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. The machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of a machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
According to one or more embodiments of the present disclosure, example 1 provides a transmission control protocol determining method, including:
acquiring network environment information;
determining a target priority rule matched with the network environment information from a plurality of priority rules, wherein the priority rules are used for reflecting the priority order of transmission control protocols included in a first transmission control protocol list corresponding to the priority rules, different priority rules correspond to different priority orders of transmission control protocols in the first transmission control protocol list, and congestion control algorithms of different transmission control protocols in the first transmission control protocol list are different;
determining a target transmission control protocol for the terminal equipment based on the target priority rule and the second transmission control protocol list; the second transmission control protocol list includes transmission control protocols supported by the terminal device.
According to one or more embodiments of the present disclosure, example 2 provides the method of example 1, the determining a target transmission control protocol for a terminal device based on the target priority rule and a second transmission control protocol list, including:
determining the transmission control protocol commonly included in the first transmission control protocol list corresponding to the second transmission control protocol list and the target priority rule as a candidate transmission control protocol;
And determining the candidate transmission control protocol with the highest priority in the first transmission protocol list as the target transmission control protocol.
According to one or more embodiments of the present disclosure, example 3 provides the method of example 2, the determining a target transmission control protocol for a terminal device based on the target priority rule and a second transmission control protocol list, comprising:
and determining the initial transmission control protocol set by the terminal equipment as the target transmission control protocol under the condition that the second transmission control protocol list does not have the same transmission control protocol with the first transmission control protocol list corresponding to the target priority rule.
In accordance with one or more embodiments of the present disclosure, example 4 provides the method of example 3, the second transmission control protocol list includes transmission control protocols commonly supported by an operating system and a model of the terminal device.
Example 5 provides the method of example 1, according to one or more embodiments of the present disclosure, the network environment information reflecting at least network quality and network type.
According to one or more embodiments of the present disclosure, example 6 provides the method of example 5, wherein the priority rule, the network quality, and the network type are in one-to-one correspondence, and for any one of the priority rules, in the first transmission control protocol list corresponding to the priority rule, a priority order of each of the transmission control protocols is determined based on a network congestion control effect of the transmission control protocol under the network type and the network quality corresponding to the priority rule.
In accordance with one or more embodiments of the present disclosure, example 7 provides the method of example 2, the obtaining network environment information comprising:
and responding to the preset triggering operation of the application program, acquiring the network environment information from a preset storage area, wherein the preset storage area is used for storing the network environment information obtained through periodic detection.
According to one or more embodiments of the present disclosure, example 8 provides a transmission control protocol determining apparatus, including:
an acquisition module configured to acquire network environment information;
a first determining module, configured to determine a target priority rule matched with the network environment information from a plurality of priority rules, where the priority rule is used to reflect a priority order of transmission control protocols included in a first transmission control protocol list corresponding to the priority rule, different priority rules correspond to different priority orders of transmission control protocols in the first transmission control protocol list, and congestion control algorithms of different transmission control protocols in the first transmission control protocol list are different;
a second determining module configured to determine a target transmission control protocol for the terminal device based on the target priority rule and the second transmission control protocol list; the second transmission control protocol list includes transmission control protocols supported by the terminal device.
According to one or more embodiments of the present disclosure, example 9 provides the apparatus of example 8, the second determination module 203 is further configured to:
determining the transmission control protocol commonly included in the first transmission control protocol list corresponding to the second transmission control protocol list and the target priority rule as a candidate transmission control protocol;
and determining the candidate transmission control protocol with the highest priority in the first transmission protocol list as the target transmission control protocol.
According to one or more embodiments of the present disclosure, example 10 provides the apparatus of example 9, the second determination module 203 is further configured to:
and determining the initial transmission control protocol set by the terminal equipment as the target transmission control protocol under the condition that the second transmission control protocol list does not have the same transmission control protocol with the first transmission control protocol list corresponding to the target priority rule.
In accordance with one or more embodiments of the present disclosure, example 11 provides the apparatus of example 10, the second transmission control protocol list includes transmission control protocols commonly supported by an operating system and a model of the terminal device.
Example 12 provides the apparatus of example 8, the network environment information reflecting at least network quality and network type, in accordance with one or more embodiments of the present disclosure.
In accordance with one or more embodiments of the present disclosure, example 13 provides the apparatus of example 12, wherein the priority rule, the network quality, and the network type are in one-to-one correspondence, and for any one of the priority rules, in the first transmission control protocol list corresponding to the priority rule, a priority order of each of the transmission control protocols is determined based on a network congestion control effect of the transmission control protocol under the network type and the network quality corresponding to the priority rule.
In accordance with one or more embodiments of the present disclosure, example 14 provides the apparatus of example 9, the acquisition module is further configured to:
and responding to the preset triggering operation of the application program, acquiring the network environment information from a preset storage area, wherein the preset storage area is used for storing the network environment information obtained through periodic detection.
The foregoing description is only of the preferred embodiments of the present disclosure and description of the principles of the technology being employed. It will be appreciated by persons skilled in the art that the scope of the disclosure referred to in this disclosure is not limited to the specific combinations of features described above, but also covers other embodiments which may be formed by any combination of features described above or equivalents thereof without departing from the spirit of the disclosure. Such as those described above, are mutually substituted with the technical features having similar functions disclosed in the present disclosure (but not limited thereto).
Moreover, although operations are depicted in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order. In certain circumstances, multitasking and parallel processing may be advantageous. Likewise, while several specific implementation details are included in the above discussion, these should not be construed as limiting the scope of the present disclosure. Certain features that are described in the context of separate embodiments can also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment can also be implemented in multiple embodiments separately or in any suitable subcombination.
Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are example forms of implementing the claims. The specific manner in which the various modules perform the operations in the apparatus of the above embodiments have been described in detail in connection with the embodiments of the method, and will not be described in detail herein.

Claims (10)

1. A transmission control protocol determination method, comprising:
acquiring network environment information;
determining a target priority rule matched with the network environment information from a plurality of priority rules, wherein the priority rules are used for reflecting the priority order of transmission control protocols included in a first transmission control protocol list corresponding to the priority rules, different priority rules correspond to different priority orders of transmission control protocols in the first transmission control protocol list, and congestion control algorithms of different transmission control protocols in the first transmission control protocol list are different;
determining a target transmission control protocol for the terminal equipment based on the target priority rule and the second transmission control protocol list; the second transmission control protocol list includes transmission control protocols supported by the terminal device.
2. The method of claim 1, wherein the determining the target transmission control protocol for the terminal device based on the target priority rule and the second transmission control protocol list comprises:
a first transmission for associating the second transmission control protocol list with the target priority rule the transmission control protocols commonly included in the control protocol list are determined as candidate transmission control protocols;
And determining the candidate transmission control protocol with the highest priority in the first transmission protocol list as the target transmission control protocol.
3. The method of claim 2, wherein the determining the target transmission control protocol for the terminal device based on the target priority rule and the second transmission control protocol list comprises:
and determining the initial transmission control protocol set by the terminal equipment as the target transmission control protocol under the condition that the second transmission control protocol list does not have the same transmission control protocol with the first transmission control protocol list corresponding to the target priority rule.
4. A method according to claim 3, wherein the second list of transmission control protocols comprises transmission control protocols commonly supported by an operating system and model of the terminal device.
5. The method of claim 1, wherein the network environment information reflects at least network quality and network type.
6. The method of claim 5, wherein the priority rule, the network quality, and the network type are in one-to-one correspondence, and wherein for any one of the priority rules, in the first tcp list corresponding to the priority rule, the priority order of each tcp is determined based on the network congestion control effect of the tcp under the network type and the network quality corresponding to the priority rule.
7. The method of claim 2, wherein the obtaining network environment information comprises:
and responding to the preset triggering operation of the application program, acquiring the network environment information from a preset storage area, wherein the preset storage area is used for storing the network environment information obtained through periodic detection.
8. A transmission control protocol determining apparatus, comprising:
an acquisition module configured to acquire network environment information;
a first determining module, configured to determine a target priority rule matched with the network environment information from a plurality of priority rules, where the priority rule is used to reflect a priority order of transmission control protocols included in a first transmission control protocol list corresponding to the priority rule, different priority rules correspond to different priority orders of transmission control protocols in the first transmission control protocol list, and congestion control algorithms of different transmission control protocols in the first transmission control protocol list are different;
a second determining module configured to determine a target transmission control protocol for the terminal device based on the target priority rule and the second transmission control protocol list; the second transmission control protocol list includes transmission control protocols supported by the terminal device.
9. A computer readable medium on which a computer program is stored, characterized in that the program, when being executed by a processing device, carries out the steps of the method according to any one of claims 1-7.
10. An electronic device, comprising:
a storage device having one or more computer programs stored thereon;
one or more processing means for executing the one or more computer programs in the storage means to implement the steps of the method of any of claims 1-7.
CN202111306950.3A 2021-11-05 2021-11-05 Transmission control protocol determining method and device, readable medium and electronic equipment Active CN114039926B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111306950.3A CN114039926B (en) 2021-11-05 2021-11-05 Transmission control protocol determining method and device, readable medium and electronic equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111306950.3A CN114039926B (en) 2021-11-05 2021-11-05 Transmission control protocol determining method and device, readable medium and electronic equipment

Publications (2)

Publication Number Publication Date
CN114039926A CN114039926A (en) 2022-02-11
CN114039926B true CN114039926B (en) 2023-10-03

Family

ID=80143051

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111306950.3A Active CN114039926B (en) 2021-11-05 2021-11-05 Transmission control protocol determining method and device, readable medium and electronic equipment

Country Status (1)

Country Link
CN (1) CN114039926B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114884823B (en) * 2022-04-29 2024-03-22 北京有竹居网络技术有限公司 Flow congestion control method, device, computer readable medium and electronic equipment

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102104908A (en) * 2011-01-18 2011-06-22 华为技术有限公司 Data transmission control method and equipment
CN102546531A (en) * 2010-12-14 2012-07-04 联芯科技有限公司 Data traffic control method and user terminal
CN103038652A (en) * 2010-05-25 2013-04-10 海德沃特合作I有限公司 Device-assisted services for protecting network capacity
CN105264845A (en) * 2014-05-08 2016-01-20 华为技术有限公司 Data transmission control node, communication system and data transmission management method
CN105681265A (en) * 2014-11-20 2016-06-15 华为软件技术有限公司 Unilateral transmission control protocol acceleration method and device
CN112422441A (en) * 2020-03-05 2021-02-26 上海哔哩哔哩科技有限公司 Congestion control method and system based on QUIC transmission protocol

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7649841B2 (en) * 2006-03-13 2010-01-19 Microsoft Corporation Competitive and considerate congestion control
US8625605B2 (en) * 2008-08-28 2014-01-07 Raytheon Bbn Technologies Corp. Non-uniform per-packet priority marker for use with adaptive protocols
US8125909B2 (en) * 2009-10-22 2012-02-28 Motorola Solutions, Inc. Methods and apparatus for controlling congestion in a communication network
US20140355623A1 (en) * 2013-06-03 2014-12-04 Futurewei Technologies, Inc. Transmission Control Protocol (TCP) Connection Control Parameter In-Band Signaling
US10244003B2 (en) * 2014-09-25 2019-03-26 Microsoft Technology Licensing, Llc Media session between network endpoints
US9985898B2 (en) * 2015-02-26 2018-05-29 Citrix Systems, Inc. System for bandwidth optimization with traffic priority determination
US10931587B2 (en) * 2017-12-08 2021-02-23 Reniac, Inc. Systems and methods for congestion control in a network
US11871265B2 (en) * 2018-01-18 2024-01-09 Samsung Electronics Co., Ltd Method and an electronic device for dynamically controlling TCP congestion window

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103038652A (en) * 2010-05-25 2013-04-10 海德沃特合作I有限公司 Device-assisted services for protecting network capacity
CN102546531A (en) * 2010-12-14 2012-07-04 联芯科技有限公司 Data traffic control method and user terminal
CN102104908A (en) * 2011-01-18 2011-06-22 华为技术有限公司 Data transmission control method and equipment
CN105264845A (en) * 2014-05-08 2016-01-20 华为技术有限公司 Data transmission control node, communication system and data transmission management method
CN105681265A (en) * 2014-11-20 2016-06-15 华为软件技术有限公司 Unilateral transmission control protocol acceleration method and device
CN112422441A (en) * 2020-03-05 2021-02-26 上海哔哩哔哩科技有限公司 Congestion control method and system based on QUIC transmission protocol

Also Published As

Publication number Publication date
CN114039926A (en) 2022-02-11

Similar Documents

Publication Publication Date Title
US20220394316A1 (en) Message sending method and device, readable medium and electronic device
CN111294385B (en) Data transmission method and device, readable medium and electronic equipment
CN109040230B (en) File downloading method, device, equipment/terminal/server and storage medium
WO2022068488A1 (en) Message sending control method and apparatus, and electronic device and computer-readable storage medium
CN111930709B (en) Data storage method, apparatus, electronic device, and computer readable medium
CN111432001B (en) Method, apparatus, electronic device and computer readable medium for jumping scenes
CN112543487B (en) Control method, device, terminal and storage medium of electronic equipment
CN113992967A (en) Screen projection data transmission method and device, electronic equipment and storage medium
US20210281640A1 (en) Method and apparatus for monitoring global failure in virtual gateway cluster
CN115103210B (en) Information processing method, device, terminal and storage medium
CN114039926B (en) Transmission control protocol determining method and device, readable medium and electronic equipment
CN112929240A (en) Method, device, terminal and non-transitory storage medium for acquiring communication delay time
EP3235258B1 (en) Adjusting quality level of media streaming
CN113259729B (en) Data switching method, server, system and storage medium
WO2023083367A1 (en) Method and apparatus for resuming loading of file in background, and storage medium and electronic device
CN111309497B (en) Information calling method and device, server, terminal and storage medium
CN111756833B (en) Node processing method, node processing device, electronic equipment and computer readable medium
CN114006871A (en) Flow control method, flow control device, container and storage medium
CN112543228A (en) Data transmission method and device, electronic equipment and computer readable medium
CN112804768B (en) Method and device for processing communication connection, terminal and non-transitory storage medium
CN111274296B (en) Image data acquisition method and device, terminal and storage medium
WO2023169261A1 (en) Data uploading method and apparatus, device, and medium
CN117527648A (en) Bandwidth detection method, device, equipment and storage medium
CN115550464B (en) System monitoring method based on industrial internet cloud platform, electronic equipment and medium
CN117544575A (en) Network congestion response method, device, equipment and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant