CN111698243B - Parameter configuration method and device, electronic equipment and storage medium - Google Patents

Parameter configuration method and device, electronic equipment and storage medium Download PDF

Info

Publication number
CN111698243B
CN111698243B CN202010520308.4A CN202010520308A CN111698243B CN 111698243 B CN111698243 B CN 111698243B CN 202010520308 A CN202010520308 A CN 202010520308A CN 111698243 B CN111698243 B CN 111698243B
Authority
CN
China
Prior art keywords
parameter
target
optimization parameter
kernel
parameter group
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
CN202010520308.4A
Other languages
Chinese (zh)
Other versions
CN111698243A (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 Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and 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 Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202010520308.4A priority Critical patent/CN111698243B/en
Publication of CN111698243A publication Critical patent/CN111698243A/en
Application granted granted Critical
Publication of CN111698243B publication Critical patent/CN111698243B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

The application discloses a parameter configuration method, a parameter configuration device, electronic equipment and a storage medium, and relates to the relevant application fields including but not limited to cloud computing, cloud service, cloud storage, big data, internet communication, cloud platforms and the like. The specific implementation scheme is as follows: determining a corresponding application type according to the request information of the client; selecting a target optimization parameter group corresponding to the application type from a parameter calling library; the parameter calling library comprises at least one group of optimization parameter groups, and each group of optimization parameter group comprises at least one optimization parameter; and configuring parameters used in the data transmission process of the target TCP connection responding to the request information of the client based on the target optimization parameter group. According to the embodiment of the application, optimization parameters can be configured for each TCP connection.

Description

Parameter configuration method and device, electronic equipment and storage medium
Technical Field
The application relates to the technical field of computers, in particular to relevant application fields including but not limited to cloud computing, cloud services, cloud storage, big data, internet communication, cloud platforms and the like.
Background
With the rapid development of the internet, the variety of network services is continuously increasing, the number of terminals and servers is also rapidly increasing, and the network traffic is increased explosively. Most of these flows are based on TCP (Transmission Control Protocol), so the parameter configuration of the TCP Protocol stack has a certain influence on the quality of the network service.
In the related art, the optimized configuration of parameters of a TCP protocol stack is proposed: and configuring optimized parameters aiming at the whole server, wherein the configured parameters are effective in all TCP (transmission control protocol) connections on the whole server.
Disclosure of Invention
The application provides a parameter configuration method, a parameter configuration device, electronic equipment and a storage medium.
According to an aspect of the present application, there is provided a parameter configuration method, including:
determining a corresponding application type according to the request information of the client;
selecting a target optimization parameter group corresponding to the application type from a parameter calling library; the parameter calling library comprises at least one group of optimization parameter groups, and each group of optimization parameter group comprises at least one optimization parameter;
and configuring parameters used in the data transmission process of the target TCP connection responding to the request information of the client based on the target optimization parameter group.
According to another aspect of the present application, there is provided a parameter configuration apparatus, including:
the determining module is used for determining the corresponding application type according to the request information of the client;
the selection module is used for selecting a target optimization parameter group corresponding to the application type from the parameter calling library; the parameter calling library comprises at least one group of optimization parameter groups, and each group of optimization parameter group comprises at least one optimization parameter;
and the configuration module is used for configuring parameters used in the data transmission process of the request information of the target TCP connection responding to the client based on the target optimization parameter group.
According to another aspect of the present application, there is provided an electronic device including:
at least one processor; and
a memory communicatively coupled to the at least one processor; wherein the content of the first and second substances,
the memory stores instructions executable by the at least one processor to cause the at least one processor to perform the method provided by any of the embodiments of the present application.
According to another aspect of the present application, there is provided a non-transitory computer readable storage medium storing computer instructions, wherein the computer instructions are configured to cause a computer to perform the method provided by any of the embodiments of the present application.
According to another aspect of the application, a computer program product is provided, comprising a computer program which, when executed by a processor, implements the method as described above.
According to the technical scheme, for the received request information of the client, a target optimization parameter group is selected from a parameter calling library according to the application type corresponding to the request information, and based on the target optimization parameter group, parameters used in the data sending process of responding to the request information on the target TCP connection are configured. Therefore, the optimized parameters can be respectively configured for each TCP connection, and different parameter optimization processing can be performed on the same TCP connection at different time intervals, so that the differentiated requirements of services of different application types on the quality of the TCP connection are met, and the deployment of multiple services of different application types on the same server is facilitated.
It should be understood that the statements in this section do not necessarily identify key or critical features of the embodiments of the present application, nor do they limit the scope of the present application. Other features of the present application will become apparent from the following description.
Drawings
The drawings are included to provide a better understanding of the present solution and are not intended to limit the present application. Wherein:
FIG. 1 is a schematic diagram of a parameter configuration method according to an embodiment of the present application;
FIG. 2 is a schematic diagram of a parameter configuration method according to another embodiment of the present application;
FIG. 3 is a schematic diagram of a parameter configuration method according to yet another embodiment of the present application;
FIG. 4 is a schematic diagram of a parameter configuration method according to yet another embodiment of the present application;
FIG. 5 is a schematic diagram of a parameter configuration method according to yet another embodiment of the present application;
FIG. 6 is a schematic diagram of validation of a set of target optimization parameters according to an embodiment of the present application;
FIG. 7 is a schematic diagram of fetching a set of target optimization parameters from a linked list according to an embodiment of the present application;
FIG. 8 is a schematic diagram of a parameter configuration apparatus according to an embodiment of the present application;
FIG. 9 is a schematic diagram of a parameter configuration apparatus according to another embodiment of the present application;
fig. 10 is a block diagram of an electronic device for implementing a parameter configuration method according to an embodiment of the present application.
Detailed Description
The following description of the exemplary embodiments of the present application, taken in conjunction with the accompanying drawings, includes various details of the embodiments of the application for the understanding of the same, which are to be considered exemplary only. Accordingly, those of ordinary skill in the art will recognize that various changes and modifications of the embodiments described herein can be made without departing from the scope and spirit of the present application. Also, descriptions of well-known functions and constructions are omitted in the following description for clarity and conciseness.
Fig. 1 is a schematic diagram illustrating a parameter configuration method according to an exemplary embodiment of the present application. As shown in fig. 1, the method includes:
s11, determining a corresponding application type according to the request information of the client;
s12, selecting a target optimization parameter group corresponding to the application type from a parameter calling library; the parameter calling library comprises at least one group of optimization parameter groups, and each group of optimization parameter groups comprises at least one optimization parameter;
and S13, configuring parameters used in the data transmission process of the target TCP connection responding to the request information of the client based on the target optimization parameter group.
According to the parameter configuration method, for received request information of a client, a target optimization parameter group is selected from a parameter calling library according to an application type corresponding to the request information, and based on the target optimization parameter group, parameters used in a data sending process of responding to the request information on a target TCP connection are configured. Therefore, the optimized parameters can be respectively configured for each TCP connection, and different parameter optimization processing can be performed on the same TCP connection at different time intervals, so that the differentiated requirements of services of different application types on the quality of the TCP connection are met, and the deployment of multiple services of different application types on the same server is facilitated.
For example, a CDN (Content Delivery Network) server needs to deploy multiple services, where the requirements of services of different application types on the quality of TCP connections are different, for example, some services require low bandwidth cost of TCP connections, and some services require high speed of TCP connections. When the method provided by the embodiment of the application is applied to the CDN server, the CDN server can configure optimization parameters meeting requirements for different application types of services, and therefore the various types of services deployed on the CDN server can provide high-quality network services.
In the embodiment of the application, by configuring the parameter call library, an optimized parameter group which is adaptive to the application type and balances performance and cost can be provided for services of different application types. Each group of optimization parameter groups in the parameter calling library comprises at least one of the following parameters:
(1) Parameter version number: in the optimization work of the TCP connection quality, the processing logic of the TCP protocol stack needs to be modified according to the change of the scene requirement and the update of the upstream open source community, and the optimization parameter set corresponding to the application type is adjusted. Thus, the parameter call library may be updated from time to time. The parameter version number is used to indicate the version of the parameter call library.
(2) Optimizing the scene corresponding to the parameter group: each set of optimization parameter sets in the parameter invocation library corresponds to at least one scenario. The applicable scenario is marked in each set of optimization parameter sets.
(3) Resetting a switch: the reset switch is used for indicating whether the parameters of the TCP connection are restored to default values configured in the kernel in advance. The parameters of the TCP connection can be restored to default values using the reset switch.
(4) And (3) a congestion control algorithm: configuring congestion control algorithms is an important part of regulating the behavior of the TCP protocol stack. The configuration of the congestion control algorithm may include configurations of algorithm types of the congestion control algorithm, such as a reno algorithm, a cubic algorithm, a bbr algorithm, and the like, and may further include configurations of related configuration items of the congestion control algorithm, where the related configuration items of the congestion control algorithm may include a hybrid slow start, a window-up speed, an additional window-up size, a retransmission rate threshold, and the like of the congestion control algorithm.
(5) Connecting initial window related configuration items: when a TCP connection starts, the TCP protocol stack configures initial windows of different sizes according to the current network state. The connection initiation window related configuration item includes at least one parameter in configuring the initiation window, such as a protocol stack initiation window and an initial slow start threshold.
The related configuration items connected with the initial window need to be actively configured, and can be discarded after the configuration is completed, so that the configuration items are not saved.
(6) Connection duration related configuration items: the configuration items related to the connection duration process comprise at least one parameter of processing flows such as Open, recovery, loss and the like in a TCP protocol stack state machine. The relevant configuration items in the connection duration process comprise at least one of the following items:
RTO-like parameters, such as RTO timer size;
speed compensation type parameters, such as extra window size;
a slow start class parameter, such as a window-up speed for a slow start period;
and fast retransmission classes, such as a trigger mechanism of fast retransmission, a retransmitted packet marking method, a window-dropping algorithm, and the like.
And after the configuration of the relevant configuration items in the continuous connection process is finished, the relevant configuration items are stored by the kernel and are called when the TCP protocol stack executes the corresponding flow.
It should be noted that, in some application scenarios, each set of optimization parameter sets includes a parameter version number, a scenario corresponding to the optimization parameter set, and a reset switch; one or more parameters of the congestion control algorithm, the connection initiation window related configuration item, and the connection duration related configuration item may be optional parameters.
In the embodiment of the application, the optimization parameter group comprises the parameter version number, so that the version of the optimization parameter group can be accurately indicated, and the parameter misuse is avoided; the method comprises a scene corresponding to an optimized parameter group, and can be used for conveniently judging whether the parameters of the TCP connection are wrong or not according to the scene and specific parameters during Debug (fault elimination); the server comprises a reset switch, which is beneficial to the daily maintenance of the server; including congestion control algorithms, connection initiation window related configuration items and connection duration related configuration items, parameters of the TCP connection can be optimized more comprehensively.
In some embodiments, at least one structure may be set in the parameter invocation library, where each structure corresponds to a set of optimization parameter sets.
As an exemplary implementation manner, referring to fig. 2, in step S12, selecting a target optimization parameter group corresponding to an application type from a parameter invocation library includes:
and step S121, the upper layer application selects an optimization parameter group corresponding to the scene from the parameter calling library based on the scene corresponding to the application type, and takes the selected optimization parameter group as a target optimization parameter group.
For example, if the scene corresponding to the application type is the scene a with low bandwidth cost, the optimization parameter group corresponding to the scene a is selected from the parameter call library as the target optimization parameter group. And configuring the target TCP connection corresponding to the request information of the client based on the target optimization parameter group, so that the bandwidth cost of the target TCP connection can be reduced.
According to the exemplary embodiment, the upper-layer application can select the target optimization parameter group meeting the scene requirement from the parameter calling library, and the target TCP connection is configured based on the target optimization parameter group, so that the quality requirement of the scene on the TCP connection can be met, and the service quality of the server is improved.
As an exemplary embodiment, referring to fig. 2, after step S121, the parameter configuration method further includes:
step S122, the upper layer application checks whether the parameter version number based on the target optimization parameter group and the kernel parameter version number are compatible;
step S123, if the verification result is compatible, the upper layer application sends the target optimization parameter set to the kernel through the first call system.
Generally, the update upgrade of the server kernel and the update upgrade of the upper layer application are often asynchronous. If any one of the kernel and the upper layer application is upgraded to a new version first, the situation that the respective parameter call libraries of the kernel and the upper layer application are incompatible may occur. For example, the optimized parameter set in the parameter call library of the upper layer application is version C1, and the parameter set maintained by the kernel has evolved to version C2 via upgrading, and has several deletions and additions compared with version C1, if only the latest version of parameters is supported, the kernel is no longer compatible with the parameter call library of the upper layer application once upgraded, thereby causing service interruption. On the contrary, if the parameter call library of the upper application is updated first and the new version kernel is not completely rolled out, the incompatibility is also caused. The version number is introduced to represent the form of the parameter group, and the parameter calling library and the kernel of the upper application are designed to simultaneously support the latest 2 versions, so that a time difference is reserved for asynchronous upgrading of the two versions.
According to the exemplary embodiment, the upper layer application checks whether the parameter version number of the selected target optimization parameter group and the kernel parameter version number are compatible, and sends the target optimization parameter group to the kernel under the condition of compatibility so as to improve the accuracy of TCP parameter setting.
Illustratively, the first calling system is setsockopt. In some embodiments, modifying the setsockopt system call, embedding code therein, may enable the target optimization parameter set issued by the upper layer application to be received by the kernel.
Illustratively, if the verification result is incompatible, the upper layer application disregards the target optimization parameter set.
As an example, in step S122, a process of checking based on whether the version numbers are compatible may refer to fig. 3, which includes:
step S21, reading a parameter VERSION number LIB _ VERSION of an upper application;
s22, reading a parameter VERSION number KERNEL _ VERSION of the KERNEL;
step S23, judging whether LIB _ VERSION = KERNEL _ VERSION or LIB _ VERSION N = KERNEL _ VERSION-1 is true or not; if yes, go to step S24; otherwise, entering step S25;
step S24, determining the use parameter VERSION number as a parameter of LIB _ VERSION;
step S25, judging whether LIB _ VERSION-1= KERNEL _VERSIONis true or not; if yes, go to step S27; otherwise, entering step S26;
step S26, determining a parameter with a use parameter VERSION number (LIB _ VERSION-1);
and S27, the difference value between the parameter version number of the upper application and the parameter version number of the kernel is larger than 1, and the verification result is incompatible.
In this example, both the upper layer application and the kernel support the latest two-version parameters simultaneously. Based on the method, whether a difference exists between the parameter version number of the upper layer application and the parameter version number of the kernel is checked, and whether the difference is 1 is checked. If there is a difference and the difference is greater than 1, the verification result is incompatible. And if the difference value does not exist or is 1, selecting the parameters of the low version supported by the upper application and the kernel together.
According to the example, the upper layer application and the kernel are asynchronously updated within a certain time range, and version number verification results can also be compatible. In other words, compatibility can continue regardless of which of the upper layer application and the kernel was upgraded first, as long as the two differ by no more than one version. And the flexibility of updating the parameter calling library is improved.
As an exemplary embodiment, referring to fig. 4, the parameter configuration method may further include:
and step S124, the kernel checks the received target optimization parameter group, and if the check result is that the check is passed, the kernel saves the target optimization parameter group transmitted by the upper layer application through the first calling system.
In this exemplary embodiment, after the verification is applied to the upper layer, the kernel also verifies the received target optimization parameter set, so as to prevent the target optimization parameter set sent to the kernel from being unsuitable for the target TCP connection. The accuracy of parameter configuration is improved.
Illustratively, the processing of the kernel to check the received target optimization parameter group includes at least one of:
the kernel checks the length of the target optimization parameter group;
the kernel checks the version number of the target optimization parameter group;
the kernel determines whether the target TCP connection issues a reset instruction before starting to send data for the client;
the inner core performs validity checking on the name of the congestion control algorithm.
The sequence of the above processing is not limited, for example, the version number may be checked first, and then the length may be checked; or the length can be checked first and then the version number can be checked.
If the length of the target parameter group meets the preset condition, determining that the length check is passed; if the version number of the target parameter set meets the preset condition, determining that the version number passes verification; if the target TCP connection does not issue a reset instruction before the data aiming at the client end is sent, the reset check is passed; and if the name of the congestion control algorithm meets the preset condition, the verification of the congestion control algorithm is passed.
In addition, the kernel may or may not check the version number of the target optimization parameter set; for example, in one case, the kernel and the application layer (or the upper layer application) are better matched or have better compatibility, then the upper layer application may only perform the processing of checking the version number of the target optimization parameter set (the foregoing example of the specific checking method of the upper layer application has been described in detail, and is not described again here); in another case, the matching between the kernel and the upper layer application is poor, or when the user configures that the upper layer application and the kernel both perform the processing of checking the version number of the target optimization parameter set, then both the upper layer application and the kernel perform the checking of the version number.
Fig. 5 shows a specific example of a verification process in the parameter configuration method. Firstly, the upper layer application checks the parameter version number; and after the verification is passed, triggering a first calling system, namely setsockopt system calling, and receiving the target optimization parameter group by the kernel. Then, the kernel checks the length and version number of the target parameter group, whether a reset instruction is sent or not, and the name of the congestion control algorithm. After all the verification passes, if the data transmission is started at present, setting an initial window and then storing all parameters in a target optimization parameter set issued by an upper application; if the data is sent currently, all parameters in the target optimization parameter set issued by the upper layer application are saved.
In the exemplary embodiment, the target optimization parameter group is comprehensively checked, so that the accuracy and stability of parameter configuration can be improved.
Illustratively, when the TCP protocol stack is executed to the corresponding flow, the kernel may call the corresponding parameter to optimize the TCP protocol stack according to the stored target optimization parameter group.
As an exemplary embodiment, the parameter configuration method further includes:
when receiving a target optimization parameter group, the inner core records a sequence number of a first data packet which is currently sent to a target TCP connection;
and the kernel configures the target optimization parameter group to be effective under the condition of determining that the confirmation information aiming at the first data packet is received.
If the kernel sends at least one data packet to the target TCP connection according to the previously configured parameters when the upper layer application issues the target optimization parameter set to the kernel, the time when configuring the target optimization parameter set to be valid is determined according to the exemplary embodiment.
For example, as shown in fig. 6, the kernel receives a new target optimization parameter set during the validity period of the old target optimization parameter set, records the sequence number N of the first data packet that has been currently transmitted, and still uses the old target optimization parameter set. The kernel receives ack packets corresponding to the sent data packets, and when the sequence numbers of the ack packets sent by the client are continuously increased until the sequence number N is reached, the new target optimization parameter group is configured to be effective. Here, the old target optimization parameter group may be an optimization parameter corresponding to another data transmission process, or may be understood as a target optimization parameter configured when the other data transmission process performs optimization processing on a parameter of the part of data in a process of performing data transmission using a TCP connection.
According to the exemplary embodiment, since the time for the switched parameters to take effect is that all the data packets sent before the target optimization parameter group is configured are confirmed, the parameters can be switched in the continuous process of one TCP connection, the switched parameters can take effect orderly, and the stability of parameter configuration is improved.
In some embodiments, the linked list may be used to store the target optimization parameter sets issued to the cores one by one, and each time an ack packet is received, the corresponding target optimization parameter set is taken out from the linked list according to the packet sequence number corresponding to the ack packet, and configured to be valid. The specific process can be implemented with reference to fig. 7.
As an exemplary embodiment, the parameter configuration method may further include:
and the kernel reports the optimized parameters used by the target TCP connection to the upper layer application through a second calling system.
In the exemplary embodiment, the kernel reports the optimized parameters used by the target TCP connection, so that the upper layer application updates information in time, and the stability of parameter configuration is improved.
Illustratively, the second calling system is getsockopt. In some embodiments, a getsockopt system call is modified in which code is embedded to implement functionality for the kernel to report back to the upper layer the optimized parameters used by the target TCP connection.
According to the method of the embodiment of the application, for the received request information of the client, the target optimization parameter group is selected from the parameter calling library according to the application type corresponding to the request information, and based on the target optimization parameter group, the parameters used in the data sending process of the target TCP connection responding to the request information are configured. Therefore, the optimized parameters can be respectively configured for each TCP connection, and different parameter optimization processing can be performed on the same TCP connection at different time intervals, so that the differentiated requirements of services of different application types on the quality of the TCP connection are met, and the deployment of multiple services of different application types on the same server is facilitated.
Fig. 8 is a schematic diagram illustrating a parameter configuration apparatus according to an embodiment of the present application, and as shown in fig. 8, the parameter configuration apparatus 800 includes:
a determining module 810, configured to determine a corresponding application type according to the request information of the client;
a selecting module 820, configured to select a target optimization parameter set corresponding to the application type from the parameter calling library; the parameter calling library comprises at least one group of optimization parameter groups, and each group of optimization parameter group comprises at least one optimization parameter;
a configuring module 830, configured to configure parameters used in a data sending process on the target TCP connection in response to the request information of the client based on the target optimization parameter group.
Illustratively, each set of optimization parameter sets includes at least one of:
the method comprises the following steps of parameter version number, a scene corresponding to an optimization parameter group, a reset switch, a congestion control algorithm, a connection initial window related configuration item and a connection continuous process related configuration item.
Illustratively, referring to fig. 9, the selecting module 820 includes:
the first selecting unit 821 is configured to select, by using the upper application based on the scene corresponding to the application type, the optimization parameter group corresponding to the scene from the parameter call library, and use the selected optimization parameter group as the target optimization parameter group.
Exemplarily, referring to fig. 9, the parameter configuration apparatus 800 further includes:
a first checking module 840, configured to check whether the parameter version number based on the target optimization parameter set and the kernel parameter version number are compatible by using an upper layer application;
and a sending module 850, configured to send the target optimization parameter group to the kernel through the first calling system by using the upper layer application when the verification result is that the target optimization parameter group is compatible.
Exemplarily, referring to fig. 9, the parameter configuration apparatus 800 further includes:
and the second checking module 860 is configured to check the received target optimization parameter group by using the kernel, and if the check result is that the check is passed, store the target optimization parameter group transmitted by the upper application through the first calling system.
Illustratively, referring to FIG. 9, the second verification module 850 includes at least one of:
the length checking unit is used for checking the length of the target optimization parameter group by utilizing the inner core;
the version number checking unit is used for checking the version number of the target optimization parameter group by using the kernel;
the reset checking unit is used for utilizing the kernel to determine whether the target TCP connection issues a reset instruction before starting to send data aiming at the client;
and the congestion control algorithm checking unit is used for checking the validity of the name of the congestion control algorithm by utilizing the kernel.
Exemplarily, referring to fig. 9, the parameter configuration apparatus 800 further includes:
a recording module 870, configured to record, by using the kernel, a sequence number of a first data packet currently sent to the target TCP connection when receiving the target optimization parameter group;
a validity configuring module 880, configured to configure the target optimization parameter set to be valid by using the kernel when determining that the acknowledgement information for the first data packet is received.
Exemplarily, referring to fig. 9, the parameter configuration apparatus 800 further includes:
a reporting module 890, configured to report, by the kernel, the optimized parameter used by the target TCP connection to the upper-layer application through the second calling system.
There is also provided, in accordance with an embodiment of the present application, an electronic device, a readable storage medium, and a computer program product.
Fig. 10 is a block diagram of an electronic device according to a parameter configuration method in an embodiment of the present application. Electronic devices are intended to represent various forms of digital computers, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other appropriate computers. Electronic devices may also represent various forms of mobile devices, such as personal digital processors, cellular telephones, smart phones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions, are meant to be exemplary only, and are not meant to limit implementations of the applications described and/or claimed herein.
As shown in fig. 10, the electronic apparatus includes: one or more processors 901, memory 902, and interfaces for connecting the various components, including a high-speed interface and a low-speed interface. The various components are interconnected using different buses and may be mounted on a common motherboard or in other manners as desired. The processor may process instructions for execution within the electronic device, including instructions stored in or on the memory to display graphical information of a GUI on an external input/output apparatus (such as a display device coupled to the interface). In other embodiments, multiple processors and/or multiple buses may be used, along with multiple memories and multiple memories, as desired. Also, multiple electronic devices may be connected, with each device providing some of the necessary operations (e.g., as an array of servers, a group of blade servers, or a multi-processor system). Fig. 10 illustrates an example of a processor 901.
Memory 902 is a non-transitory computer readable storage medium as provided herein. The memory stores instructions executable by the at least one processor to cause the at least one processor to perform the parameter configuration method provided herein. The non-transitory computer readable storage medium of the present application stores computer instructions for causing a computer to perform the parameter configuration method provided herein.
Memory 902, which is a non-transitory computer-readable storage medium, may be used to store non-transitory software programs, non-transitory computer-executable programs, and modules, such as program instructions/modules (e.g., determination module 810, selection module 820, and configuration module 830 shown in fig. 8) corresponding to the parameter configuration method in the embodiments of the present application. The processor 901 executes various functional applications of the server and data processing, i.e., implements the parameter configuration method in the above method embodiment, by running non-transitory software programs, instructions, and modules stored in the memory 902.
The memory 902 may include a program storage area and a data storage area, wherein the program storage area may store an operating system, an application program required for at least one function; the storage data area may store data created according to the use of the electronic device of the parameter configuration method, and the like. Further, the memory 902 may include high speed random access memory, and may also include non-transitory memory, such as at least one magnetic disk storage device, flash memory device, or other non-transitory solid state storage device. In some embodiments, the memory 902 may optionally include a memory remotely located from the processor 901, and these remote memories may be connected to the electronic device of the parameter configuration method through a network. Examples of such networks include, but are not limited to, the internet, intranets, local area networks, mobile communication networks, and combinations thereof.
The electronic device of the parameter configuration method may further include: an input device 903 and an output device 904. The processor 901, the memory 902, the input device 903, and the output device 904 may be connected by a bus or other means, and fig. 10 illustrates an example of a connection by a bus.
The input device 903 may receive input numeric or character information and generate key signal inputs related to user settings and function control of the electronic device of the parameter configuration method, such as an input device like a touch screen, a keypad, a mouse, a track pad, a touch pad, a pointer, one or more mouse buttons, a track ball, a joystick, etc. The output devices 904 may include a display device, auxiliary lighting devices (e.g., LEDs), and tactile feedback devices (e.g., vibrating motors), among others. The display device may include, but is not limited to, a Liquid Crystal Display (LCD), a Light Emitting Diode (LED) display, and a plasma display. In some implementations, the display device can be a touch screen.
Various implementations of the systems and techniques described here can be realized in digital electronic circuitry, integrated circuitry, application specific ASICs (application specific integrated circuits), computer hardware, firmware, software, and/or combinations thereof. These various embodiments may include: implemented in one or more computer programs that are executable and/or interpretable on a programmable system including at least one programmable processor, which may be special or general purpose, receiving data and instructions from, and transmitting data and instructions to, a storage system, at least one input device, and at least one output device.
These computer programs (also known as programs, software applications, or code) include machine instructions for a programmable processor, and may be implemented using high-level procedural and/or object-oriented programming languages, and/or assembly/machine languages. As used herein, the terms "machine-readable medium" and "computer-readable medium" refer to any computer program product, apparatus, and/or device (e.g., magnetic discs, optical disks, memory, programmable Logic Devices (PLDs)) used to provide machine instructions and/or data to a programmable processor, including a machine-readable medium that receives machine instructions as a machine-readable signal. The term "machine-readable signal" refers to any signal used to provide machine instructions and/or data to a programmable processor.
To provide for interaction with a user, the systems and techniques described here can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to a user; and a keyboard and a pointing device (e.g., a mouse or a trackball) by which a user can provide input to the computer. Other kinds of devices may also be used to provide for interaction with a user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form, including acoustic, speech, or tactile input.
The systems and techniques described here can be implemented in a computing system that includes a back-end component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front-end component (e.g., a user computer having a graphical user interface or a web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such back-end, middleware, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: local Area Networks (LANs), wide Area Networks (WANs), and the Internet.
The computer system may include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
According to the technical scheme of the embodiment of the application, for the received request information of the client, the target optimization parameter group is selected from the parameter calling library according to the application type corresponding to the request information, and the parameters used in the data sending process of the target TCP connection responding to the request information are configured based on the target optimization parameter group. Therefore, optimization parameters can be configured for each TCP connection respectively, and different parameter optimization processing can be performed on the same TCP connection at different time periods, so that the requirement of different application type services on the differentiation of the TCP connection quality is met, and the deployment of multiple different application type services on the same server is facilitated.
It should be understood that various forms of the flows shown above may be used, with steps reordered, added, or deleted. For example, the steps described in the present application may be executed in parallel, sequentially, or in different orders, as long as the desired results of the technical solutions disclosed in the present application can be achieved, and the present invention is not limited herein.
The above-described embodiments should not be construed as limiting the scope of the present application. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions may be made, depending on design requirements and other factors. Any modification, equivalent replacement, and improvement made within the spirit and principle of the present application shall be included in the protection scope of the present application.

Claims (12)

1. A method of parameter configuration, comprising:
determining a corresponding application type according to the request information of the client;
selecting a target optimization parameter group corresponding to the application type from a parameter calling library; the parameter calling library comprises at least one group of optimization parameter sets, and each group of optimization parameter sets comprises at least one optimization parameter;
configuring parameters used in a data sending process of responding to the request information of the client on a target TCP connection based on the target optimization parameter group, and carrying out different parameter optimization processing on the target TCP connection at different time periods;
wherein each set of optimization parameter sets comprises at least one of:
the method comprises the following steps of parameter version number, a scene corresponding to an optimized parameter group, a reset switch, a congestion control algorithm, a connection initial window related configuration item and a connection continuous process related configuration item;
selecting a target optimization parameter group corresponding to the application type from a parameter calling library, wherein the target optimization parameter group comprises:
the upper layer application selects an optimization parameter group corresponding to the scene from a parameter calling library based on the scene corresponding to the application type, and takes the selected optimization parameter group as a target optimization parameter group;
the upper layer application selects an optimization parameter group corresponding to the scene from a parameter calling library based on the scene corresponding to the application type, and after taking the selected optimization parameter group as a target optimization parameter group, the method further comprises the following steps:
the upper layer application checks whether the parameter version number of the target optimization parameter group and the kernel parameter version number are compatible or not;
and if the verification result is compatible, the upper layer application sends the target optimization parameter group to the kernel through a first calling system.
2. The method of claim 1, wherein the method further comprises:
and the kernel verifies the received target optimization parameter group, and if the verification result is that the verification is passed, the kernel saves the target optimization parameter group transmitted by the upper application through the first calling system.
3. The method of claim 2, wherein the processing of the received set of target optimization parameters by the kernel comprises at least one of:
the kernel checks the length of the target optimization parameter group;
the kernel checks the version number of the target optimization parameter group;
the kernel determines whether a target TCP connection issues a reset instruction before starting to send data for the client;
the core performs validity checking on the name of the congestion control algorithm.
4. The method of claim 3, wherein the method further comprises:
when the kernel receives the target optimization parameter group, recording the sequence number of a first data packet which is currently sent to the target TCP connection;
and the inner core configures the target optimization parameter group to be effective under the condition that the inner core determines that the confirmation information aiming at the first data packet is received.
5. The method of claim 1, wherein the method further comprises:
and the kernel reports the optimized parameters used by the target TCP connection to an upper layer application through a second calling system.
6. A parameter configuration apparatus, comprising:
the determining module is used for determining the corresponding application type according to the request information of the client;
the selection module is used for selecting a target optimization parameter group corresponding to the application type from a parameter calling library; the parameter calling library comprises at least one group of optimization parameter sets, and each group of optimization parameter sets comprises at least one optimization parameter;
a configuration module, configured to configure parameters used in a data sending process of a target TCP connection responding to the request information of the client based on the target optimization parameter group, and perform different parameter optimization processing on the target TCP connection at different time periods;
wherein each set of optimization parameter sets comprises at least one of:
the method comprises the following steps of parameter version number, a scene corresponding to an optimized parameter group, a reset switch, a congestion control algorithm, a connection initial window related configuration item and a connection continuous process related configuration item;
the selecting module comprises:
a first selecting unit, configured to select, by using an upper layer application, a set of optimization parameters corresponding to a scene from a parameter call library based on the scene corresponding to the application type, and use the selected set of optimization parameters as a target set of optimization parameters;
the device further comprises:
the first checking module is used for checking whether the parameter version number based on the target optimization parameter group and the kernel parameter version number are compatible by utilizing the upper layer application;
and the sending module is used for sending the target optimization parameter group to the kernel by utilizing the upper layer application through the first calling system under the condition that the verification result is compatible.
7. The apparatus of claim 6, wherein the apparatus further comprises:
and the second check module is used for checking the received target optimization parameter group by using the kernel, and if the check result is that the check is passed, the target optimization parameter group transmitted by the upper application through the first calling system is stored.
8. The apparatus of claim 7, wherein the second check-up module comprises at least one of:
a length checking unit, configured to check the length of the target optimization parameter set by using the kernel;
the version number checking unit is used for checking the version number of the target optimization parameter group by using the inner core;
the reset checking unit is used for utilizing the kernel to determine whether the target TCP connection issues a reset instruction before starting to send data aiming at the client;
and the congestion control algorithm checking unit is used for checking the validity of the name of the congestion control algorithm by using the inner core.
9. The apparatus of claim 8, wherein the apparatus further comprises:
the recording module is used for recording the sequence number of a first data packet which is currently sent to the target TCP connection when the kernel receives the target optimization parameter group;
and the validity configuration module is used for configuring the target optimization parameter group to be valid by utilizing the inner core under the condition of determining that the confirmation information aiming at the first data packet is received.
10. The apparatus of claim 6, wherein the apparatus further comprises:
and the reporting module is used for reporting the optimized parameters used by the target TCP connection to an upper layer application by the kernel through a second calling system.
11. An electronic device, comprising:
at least one processor; and
a memory communicatively coupled to the at least one processor; wherein the content of the first and second substances,
the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the method of any one of claims 1-5.
12. A non-transitory computer readable storage medium having stored thereon computer instructions for causing a computer to perform the method of any one of claims 1-5.
CN202010520308.4A 2020-06-09 2020-06-09 Parameter configuration method and device, electronic equipment and storage medium Active CN111698243B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010520308.4A CN111698243B (en) 2020-06-09 2020-06-09 Parameter configuration method and device, electronic equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010520308.4A CN111698243B (en) 2020-06-09 2020-06-09 Parameter configuration method and device, electronic equipment and storage medium

Publications (2)

Publication Number Publication Date
CN111698243A CN111698243A (en) 2020-09-22
CN111698243B true CN111698243B (en) 2023-02-21

Family

ID=72479985

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010520308.4A Active CN111698243B (en) 2020-06-09 2020-06-09 Parameter configuration method and device, electronic equipment and storage medium

Country Status (1)

Country Link
CN (1) CN111698243B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113873571A (en) * 2020-06-30 2021-12-31 华为技术有限公司 Congestion control method and corresponding equipment
CN114866553B (en) * 2022-04-27 2024-05-28 阿里云计算有限公司 Data distribution method, device and storage medium

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8717890B2 (en) * 2009-01-30 2014-05-06 Movik Networks Application, usage and radio link aware transport network scheduler
US20140281018A1 (en) * 2013-03-13 2014-09-18 Futurewei Technologies, Inc. Dynamic Optimization of TCP Connections
WO2017147307A1 (en) * 2016-02-23 2017-08-31 Level 3 Communications, Llc Network flow control
CN109032820B (en) * 2018-08-08 2021-02-12 网易(杭州)网络有限公司 Processing method and device for application program version compatibility
CN110784414B (en) * 2019-10-30 2023-06-23 北京达佳互联信息技术有限公司 Data interaction method, device, electronic equipment and storage medium

Also Published As

Publication number Publication date
CN111698243A (en) 2020-09-22

Similar Documents

Publication Publication Date Title
US10936296B2 (en) Automated application updates during operating system upgrades
CN111770169B (en) Method, device, equipment and storage medium for upgrading equipment firmware
CN111767069B (en) Applet processing method, server, device and storage medium
CN111835856B (en) File downloading method, device, equipment and storage medium
CN112073994A (en) Method and device for over-the-air upgrading, electronic equipment and readable storage medium
CN111698243B (en) Parameter configuration method and device, electronic equipment and storage medium
CN111782229B (en) Method and device for starting small program and electronic equipment
CN112925652B (en) Application resource deployment method, device, electronic equipment and medium
CN111782254A (en) Method, device, equipment and storage medium for upgrading object
CN113961311A (en) Service data processing method, device, electronic equipment and medium
CN111787088B (en) Method and device for processing small program data
CN111510480B (en) Request sending method and device and first server
CN111782218B (en) Applet processing method, device, equipment and storage medium
CN113825170A (en) Method and apparatus for determining network channel
JP7147123B2 (en) Source channel determination method, device, equipment, program and computer storage medium
CN113726609B (en) System test method, apparatus, electronic device, and medium
CN113094139B (en) UI style updating method and device
CN111338937B (en) Method, device, equipment and medium for downloading small program intervention
CN112667255B (en) Updating method, updating device, electronic equipment and storage medium
CN112527635A (en) Fault injection method and device, electronic equipment and storage medium
CN112099954A (en) Method, device, equipment and storage medium for deploying and downloading resources
CN113676434A (en) Network resource fusing method and device, electronic equipment and storage medium
US20220284902A1 (en) Delay estimation method and apparatus for smart rearview mirror, and electronic device
CN112600932B (en) Quantitative issuing method, console, issuing node, device and medium
CN107038079B (en) Communication control system

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