CN111414208B - Application program starting method, device and equipment - Google Patents

Application program starting method, device and equipment Download PDF

Info

Publication number
CN111414208B
CN111414208B CN202010175356.4A CN202010175356A CN111414208B CN 111414208 B CN111414208 B CN 111414208B CN 202010175356 A CN202010175356 A CN 202010175356A CN 111414208 B CN111414208 B CN 111414208B
Authority
CN
China
Prior art keywords
domain name
protocol
server
target
protocol type
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
CN202010175356.4A
Other languages
Chinese (zh)
Other versions
CN111414208A (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 CN202010175356.4A priority Critical patent/CN111414208B/en
Publication of CN111414208A publication Critical patent/CN111414208A/en
Application granted granted Critical
Publication of CN111414208B publication Critical patent/CN111414208B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/143Termination or inactivation of sessions, e.g. event-controlled end of session
    • H04L67/145Termination or inactivation of sessions, e.g. event-controlled end of session avoiding end of session, e.g. keep-alive, heartbeats, resumption message or wake-up for inactive or interrupted session
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services

Abstract

The application discloses a method, a device and equipment for starting an application program, and relates to the technical field of networks. The technical scheme disclosed by the application comprises the following steps: and acquiring a starting request of the application program, wherein the starting request comprises domain name information of a server, determining a target protocol type from a plurality of candidate protocol types, and establishing a first network connection with the server by adopting a protocol corresponding to the target protocol type according to the domain name information of the server. In the above process, the protocol type suitable for the current network environment in the multiple candidate protocol types is determined as the target protocol type, and the network connection is established with the server by adopting the protocol corresponding to the target protocol type, so that the probability of successful establishment of the network connection can be improved, and the online rate of the application program is improved.

Description

Application program starting method, device and equipment
Technical Field
The present invention relates to the field of internet technologies, and in particular, to a method, an apparatus, and a device for starting an application program.
Background
With the development of mobile internet technology, mobile Application (APP) supports more and more service types, for example: live broadcast type services, instant messaging (Instant Messaging, IM) type services, PUSH (PUSH) type services, cloud control type services, and the like.
The more the service types supported by the mobile APP depend on the network, the more network connectivity of the mobile APP needs to be guaranteed. At present, in order to meet the requirements of stability and robustness of various services, a long connection needs to be established with a server in the starting process of a mobile APP. After the mobile APP is started, the long connection is used to perform network transmission on the services.
However, in practical application, during the starting process of the mobile APP, a problem of failure in establishing a long connection often occurs, resulting in a low online rate of the mobile APP.
Disclosure of Invention
The application provides a method, a device and equipment for starting an application program, which are used for improving the online rate of the application program.
In a first aspect, an embodiment of the present application provides a method for starting an application program, including:
acquiring a starting request of an application program, wherein the starting request comprises domain name information of a server;
determining a target protocol type from a plurality of candidate protocol types;
and establishing a first network connection with the server by adopting a protocol corresponding to the target protocol type according to the domain name information of the server.
In a second aspect, an embodiment of the present application provides an apparatus for starting an application program, including:
the system comprises an acquisition module, a control module and a control module, wherein the acquisition module is used for acquiring a starting request of an application program, and the starting request comprises domain name information of a server;
A protocol selection module for determining a target protocol type from a plurality of candidate protocol types;
and the connection establishment module is used for establishing a first network connection with the server by adopting a protocol corresponding to the target protocol type according to the domain name information of the server.
In a third aspect, an embodiment of the present application provides an electronic device, including:
at least one processor; and
a memory communicatively coupled to the at least one processor; wherein, the liquid crystal display device comprises a liquid crystal display device,
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 the first aspects.
In a fourth aspect, embodiments of the present application provide a non-transitory computer-readable storage medium storing computer instructions for causing a computer to perform the method of any one of the first aspects.
The application program starting method, device and equipment provided by the embodiment of the application program, wherein the method comprises the following steps: and acquiring a starting request of the application program, wherein the starting request comprises domain name information of a server, determining a target protocol type from a plurality of candidate protocol types, and establishing a first network connection with the server by adopting a protocol corresponding to the target protocol type according to the domain name information of the server. In the process, the protocol type suitable for the current network environment in the multiple candidate protocol types is determined to be the target protocol type, and the network connection is established between the server and the protocol corresponding to the target protocol type, so that the probability of successful establishment of the network connection can be improved, the probability of successful starting of the application program can be improved, and the online rate of the application program is improved.
Other effects of the above alternative will be described below in connection with specific embodiments.
Drawings
The drawings are for better understanding of the present solution and do not constitute a limitation of the present application. Wherein:
fig. 1 is a schematic diagram of a network architecture to which embodiments of the present application are applicable;
FIGS. 2A and 2B illustrate two possible ways of launching an application;
FIG. 3 is a flowchart illustrating a method for starting an application according to an embodiment of the present disclosure;
fig. 4 is a schematic diagram of a network protocol polling policy provided in an embodiment of the present application;
FIG. 5 is a flowchart illustrating a method for starting an application according to another embodiment of the present disclosure;
fig. 6 is a flowchart of a method for starting an application according to another embodiment of the present application;
fig. 7 is a schematic diagram of a domain name resolution process provided in an embodiment of the present application;
fig. 8 is a flowchart of a method for starting an application according to another embodiment of the present application;
fig. 9 is a schematic diagram of a processing procedure of a service request queue provided in an embodiment of the present application;
FIG. 10 is a schematic structural diagram of an application program starting device according to an embodiment of the present application;
FIG. 11 is a schematic structural diagram of an application program starting device according to another embodiment of the present application;
Fig. 12 is a schematic structural diagram of an electronic device according to an embodiment of the present application.
Detailed Description
Exemplary embodiments of the present application are described below in conjunction with the accompanying drawings, which include various details of the embodiments of the present application to facilitate understanding, and should be considered as merely exemplary. Accordingly, one 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 of a network architecture applicable to an embodiment of the present application, and as shown in fig. 1, the network architecture includes at least one terminal device and at least one server. The terminal device is installed with a mobile Application (APP). A Terminal device is also known as a Terminal, user Equipment (UE), access Terminal, subscriber unit, mobile device, user Terminal, wireless communication device, user agent, or user equipment. The terminal device may be a personal digital processing (personal digital assistant, PDA for short), a smart television, a handheld device with wireless communication function (e.g., smart phone, tablet computer), a computing device (e.g., personal computer (personal computer, PC for short), a vehicle-mounted device, a wearable device, etc.
A server is an electronic device having data storage and/or data processing capabilities. The server may be a centralized server or a distributed server. The server may also be a cloud server.
The terminal equipment is provided with an application program, and can be used as a client of the application program. The user starts the application program, and the terminal equipment and the server can be connected in a network. Fig. 2A and 2B illustrate two possible ways of launching an application. Take the example that the terminal device is a mobile phone. In a startup manner, as shown in fig. 2A (a), a user may click an icon of an application program on a desktop of a mobile phone (assuming that the icon clicked by the user is an icon of a search engine application), and trigger to start the application program, so that the mobile phone displays an application program main interface as shown in fig. 2A (b).
In another starting manner, as shown in fig. 2B (a), after the user clicks an icon of an application program on the desktop of the mobile phone (assuming that the icon clicked by the user is an icon of a search engine application), the mobile phone displays a login interface shown in fig. 2B (B). After the user inputs the user login information in the login interface and clicks the login button, the application program is triggered to be started, so that the mobile phone displays an application program main interface as shown in (c) in fig. 2B.
It will be appreciated that fig. 2A and 2B are merely schematic for application launch, and that the content shown in the various interfaces of the figures is merely illustrative and not limiting. In addition, the user may also use other ways to launch the application (e.g., voice command launch, etc.), which is not limited in this embodiment.
In order to facilitate the subsequent understanding, the following description is made with respect to several concepts involved in the embodiments of the present application.
Long connection: it means that a plurality of data packets can be continuously transmitted over one connection, and both sides are required to transmit a link detection packet if no data packet is transmitted during connection hold.
Short connection: the short connection means that when two communication parties have data interaction, a connection is established, and after data transmission is completed, the connection is disconnected, namely, each connection only completes the transmission of one service.
Presence rate of application: for measuring the probability of successful application program start. The following formula can be generally used to obtain: the rate = number of application start successes/total number of application starts. The optimization of the online rate can directly improve the network connection stability of various services supported by the application program. The online rate is improved, the occurrence of abnormality such as disconnection and the like can be reduced, and the user experience is enabled to be more flow.
Domain Name (Domain Name): the network domain is a name of a computer or a group of computers on the Internet, which is composed of a series of names separated by points, and is used for locating and identifying the computer (sometimes also referred to as geographic location) during data transmission.
Port number: the server side may have a plurality of ports, and each port is numbered for distinguishing the ports, that is, a port number. The port number is only an integer, ranging from 0 to 65535. Services provided by different processes of the server may correspond to different port numbers. The client can access the service corresponding to the port number in the server by using the port number.
In practical application, in order to meet the requirements of stability and robustness of various services supported by an application program, the application program needs to establish a long connection with a server in the starting process. After the application program is started, the long connection is used for carrying out network transmission on the data of the services so as to avoid the waste of network resources caused by frequent short connection establishment processes. However, during the starting process of the application program, a problem of failure in establishing a long connection often occurs, resulting in a low online rate of the application program.
In order to solve the above technical problems, an embodiment of the present application provides a method for starting an application program. The method can be applied to a terminal device as shown in fig. 1. In the starting process of the application program, a target protocol type with higher success probability of network connection establishment is selected from a plurality of candidate protocol types, and long connection is established with a server by adopting a protocol corresponding to the target protocol type, so that the success of the establishment of the long connection with high probability is ensured, and the online rate of the application program is improved.
The technical solutions of the present application are described in detail below in connection with several specific embodiments. The following embodiments may be combined with each other and the description may not be repeated in some embodiments for the same or similar matters.
Fig. 3 is a flowchart of a method for starting an application according to an embodiment of the present application. The method of the present embodiment may be performed by the terminal device in fig. 1. As shown in fig. 3, the method of the present embodiment includes:
s301: and acquiring a starting request of the application program, wherein the starting request comprises domain name information of the server.
The application program of the embodiment may be any application program installed in the terminal device and needing to establish network connection with the server.
When detecting an operation or instruction for starting an application program, the terminal equipment acquires a starting request of the application program. For example, when a user operates (e.g., clicks, double clicks, touches, etc.) an icon of an application, the terminal device acquires a start request of the application. For another example, when a user inputs a voice instruction for starting an application to a terminal device, the terminal device acquires a start request of the application.
The start request includes domain name information of the server. The domain name information of the server is used to identify the server to be connected. Optionally, the start request may further include a port number of the server.
S302: the target protocol type is determined from a plurality of candidate protocol types.
In the prior art, a transmission control protocol (Transmission Control Protocol, TCP) protocol is adopted when a terminal device establishes a network connection with a server. TCP is a connection-oriented, reliable, byte stream based transport layer communication protocol. However, in practical applications, some network environments may not be suitable for establishing a network connection using the TCP protocol, and thus may result in failure of the network connection establishment.
In this embodiment, the candidate protocol type refers to a type of a protocol that is agreed in advance by the terminal device and the server and can be used for establishing network connection. There may be a variety of candidate protocol types. Alternatively, the plurality of candidate protocol types may include at least two of: GRPC, QUIC, http2, tcp+tls.
Among other things, GRPC is a high-performance, open-source generic remote procedure call (remote procedure call, RPC) framework. QUIC (Quick UDP Internet Connection, fast UDP Internet connection) is a UDP-based low latency Internet transport layer protocol. Http2 (original name Http/2.0), i.e. hypertext transfer protocol 2.0, is the next generation Http protocol. TLS (Transport Layer Security, secure transport layer protocol) is used to provide confidentiality and data integrity between two communication applications.
The target protocol type refers to a protocol type determined by the terminal device from a plurality of candidate protocol types for establishing network connection with the server. That is, the target protocol type is one of a plurality of candidate protocol types. Specifically, the target protocol type is a protocol type suitable for the current network environment in the multiple candidate protocol types, or the target protocol type is a protocol type capable of guaranteeing success of network connection establishment with high probability in the multiple candidate protocol types.
For example, the terminal device may select the target protocol type from a plurality of candidate protocol types, and various embodiments are possible. For example, a network protocol polling policy may be used to attempt to establish a network connection with the server for each of the plurality of candidate protocol types, and determine, as the target protocol type, the candidate protocol type corresponding to the successful establishment of the network connection. For another example, the correspondence between the network environment and the candidate protocol type may be agreed in advance. When the user starts the application program in different network environments, the candidate protocol type corresponding to the current network environment is adopted as the target protocol type.
In a possible implementation manner, a network protocol polling policy may be adopted, and a second network connection is established with the server by sequentially adopting a protocol corresponding to each candidate protocol type, and the candidate protocol type adopted when the second network connection is successfully established for the first time is used as a target protocol type.
Wherein the second network connection may be a short connection. For example, the GRPC protocol is first used to attempt to establish a short connection with the server, and if the short connection is established successfully, the GRPC is used as the target protocol type without polling the subsequent candidate protocol types. If the short connection establishment fails, the QUIC protocol is used to attempt to connect the short connection with the server, and so on.
The determined target protocol type can be ensured to be the protocol type which can enable the successful establishment of the network connection through the network protocol polling strategy, so that the probability of the successful establishment of the network connection is improved.
Alternatively, a timeout period may be set for each candidate protocol type. For example, the timeout period may be set to 5s. When a certain candidate protocol is adopted to attempt to establish short connection with a server, if the short connection is not established successfully after waiting for 5 seconds, the short connection establishment is considered to be failed, and the next candidate protocol is started to be polled. By adopting the mode, the proper target protocol type can be determined in a short time by setting the proper timeout period, and longer polling time is avoided.
Optionally, each candidate protocol type corresponds to a priority. The order of the priorities corresponding to the plurality of candidate protocol types is positively correlated with the probability of success of the network connection corresponding to the plurality of candidate protocol types. For example, if the network connection success probability corresponding to a certain candidate protocol type is higher, the priority of the candidate protocol type is higher, and the candidate protocol type may be preferentially tried in the polling process.
Optionally, in this embodiment, before polling the multiple candidate protocol types, the probability of success of the network connection corresponding to the multiple candidate protocol types may be counted according to the historical data or the test data corresponding to the multiple candidate protocol types. And determining the priority order corresponding to the multiple candidate protocol types according to the order of the network connection success probability from high to low.
Optionally, in this embodiment, before polling the multiple candidate protocol types, the probability of success of the network connection corresponding to the various candidate protocol types may be determined according to the connection characteristics corresponding to the various candidate protocol types. For example, the connection characteristics include, but are not limited to, the following: reliability, encryption, multiplexing, header compression, congestion control, cross-language cross-platform interactions, duration of connection establishment, etc. It can be understood that the more abundant the connection features supported by a candidate protocol type, the greater the probability of success of the network connection corresponding to the candidate protocol type. And determining the priority order corresponding to the multiple candidate protocol types according to the order of the network connection success probability from high to low.
In one example, the priority order of the plurality of candidate protocol types is as follows: GRPC, QUIC, http2, tcp+tls. For example: the connection characteristics supported by GRPC include: reliable, encryption, multiplexing, header compression, congestion control, cross-language, cross-platform, efficient interaction, multi-type streaming RPC, etc. The connection characteristics supported by QUIC include: reliable, encryption, multiplexing, header compression, congestion control, very short build-up duration (0 RTT-1 RTT), etc. The connection characteristics supported by Http2 include: reliability, encryption, multiplexing (multiple requests may be concurrent), header compression, congestion control, etc. The connection characteristics supported by tcp+tls include: reliable, encrypted, etc. According to the richness of the connection characteristics supported by the candidate protocol types, the sequence of the network connection success probability corresponding to the candidate protocol types from large to small can be determined as follows: GRPC, QUIC, http2, tcp+tls. Therefore, the above order can be determined as a priority order.
By setting the priority for each protocol type and carrying out polling attempts on each candidate protocol type according to the order of the priority, the target protocol type can be determined in a shorter time, thereby improving the determination efficiency of the target protocol type.
S303: and establishing a first network connection with the server by adopting a protocol corresponding to the target protocol type according to the domain name information of the server.
Wherein the first network connection may be a long connection or a short connection.
It can be understood that after the target protocol type is determined, network connection can be established with the server by adopting a protocol corresponding to the target protocol type according to the domain name information of the server. Because the target protocol type is the protocol type which is determined by the terminal equipment and is suitable for the current network environment, or the target protocol type is the protocol type which can ensure the success of network connection establishment with high probability in a plurality of candidate protocol types, the network connection is established with the server by adopting the protocol corresponding to the target protocol type, and the probability of the success of network connection establishment can be improved.
Fig. 4 is a schematic diagram of a network protocol polling policy according to an embodiment of the present application. As shown in fig. 4, assume that the priority order of the plurality of candidate protocol types is as follows: GRPC, QUIC, http2, tcp+tls.
Correspondingly, referring to fig. 4, after the terminal device obtains the start request of the application program, the priority orders corresponding to the multiple candidate protocols are obtained, and according to the priority orders corresponding to the multiple candidate protocol types, the GRPC protocol is adopted to attempt to establish short connection with the server. If the short connection establishment of the GRPC protocol is successful, the GRPC is used as the target protocol type, and subsequent candidate protocol types do not need to be polled. If the short connection establishment by adopting the GRPC protocol fails, the QUIC protocol is adopted to attempt to connect the short connection with the server. If the QUIC protocol short connection establishment is successful, the QUIC is used as the target protocol type, and subsequent candidate protocol types do not need to be polled. If the short connection establishment using the QUIC protocol fails, the short connection is attempted to be connected with the server using the Http2 protocol. If the short connection establishment of the Http2 protocol is successful, taking the Http2 as the target protocol type, and no polling is needed for the subsequent candidate protocol type. If the short connection establishment by using the Http2 protocol fails, the short connection is attempted to be connected with the server by using the TCP+TLS protocol. In the above protocol polling process, the candidate protocol type corresponding to the successful establishment of the first short connection is determined as the target protocol type. Further, a long connection is established with the server using the target protocol type.
It can be understood that by performing polling attempt connection on 4 protocols GRPC, QUIC, http and tcp+tls corresponding to the transport layer and the application layer in the TCP/IP five-layer protocols (physical layer, data link layer, network layer, transport layer and application layer), the selected target protocol type can be ensured to be a protocol type suitable for the current environment, or in other words, the selected target protocol type can be ensured to be a protocol type with high probability that the network connection is established successfully.
In the starting method of the application program provided by the embodiment, in the process of starting the application program, the terminal equipment determines the protocol type suitable for the current network environment in a plurality of candidate protocol types as the target protocol type, and establishes network connection with the server by adopting the protocol corresponding to the target protocol type.
Fig. 5 is a flowchart of a method for starting an application according to another embodiment of the present application. As shown in fig. 5, the method of the present embodiment may include:
S501: and acquiring a starting request of the application program, wherein the starting request comprises login information of a user and domain name information of a server.
The specific implementation of S501 in this embodiment is similar to S301 in the embodiment shown in fig. 3, and repeated descriptions are omitted.
The start request of this embodiment may further include login information of the user. The login information of the user is used to identify the user who is logged into the application. For example: the login information of the user may include one or more of the following: a login account number, a login password, a nickname, an ID, a user name, etc.
In practical applications, there may be two modes of starting when a user starts an application. One is login initiation, i.e., the application is initiated while the login account is also specified. Wherein specifying the login account may include any of: case 1: as shown in (B) of fig. 2B, the user inputs information about the login account. Case 2: the user selects one of the historical login accounts. Case 3: the user defaults to the last login account as the current login account. The other is not login initiation, i.e. the login account is not specified at the same time as the application is initiated. For example: the user may initiate the application with the guest identity or anonymous identity. In this case, the terminal device may generate a guest account or anonymous account for the user. It can be understood that the login information of the user in this embodiment may be the above specified login account, and may also be the above guest account or anonymous account.
S502: and judging whether a history protocol type corresponding to the login information of the user exists in the cache. If not, executing S503; if so, S505 is performed.
S503: the target protocol type is determined from a plurality of candidate protocol types.
S504: and storing the login information of the user and the target protocol type into a cache.
S505: and taking the historical protocol type as a target protocol type.
In most application scenarios, the same user uses a certain application program in the same network environment with a high probability. Thus, according to the network protocol polling policy of the above embodiment, the determined target protocol type may be the same when the user uses the same application program a plurality of times. For example, if a user uses application 1 at home, the polling policy determines that the target protocol type is GRPC each time the user starts application 1 at home.
To avoid that the user makes polling attempts for the above-mentioned multiple candidate protocol types each time the application is started. In this embodiment, the login information of the user and the target protocol type determined by polling may be stored. Therefore, when the user starts the application program next time, the history protocol type adopted before can be directly obtained from the cache as the target protocol type, the selection efficiency of the target protocol type is improved, and the starting time delay of the application program is reduced.
For example, when the user starts the application program for the first time, since there is no historical protocol type corresponding to the login information of the user in the cache, S503 is executed, that is, the network protocol polling policy is adopted to determine the target protocol type applicable to the current network environment from multiple candidate protocol types. It can be appreciated that the embodiment of S503 is similar to S302 in fig. 3, and will not be described here. After the target protocol type is determined, the login information of the user and the target protocol type are stored in a cache.
Therefore, when the user starts the application program next time, the history protocol type corresponding to the login information of the user can be preferentially obtained from the cache, and the history protocol type is used as the target protocol type, so that the network protocol polling process is prevented from being repeated. It can be understood that, since the historical protocol type stored in the cache is also determined from the plurality of candidate protocol types by the network protocol polling policy, in S505, the historical protocol type is taken as the target protocol type, so that it can be ensured that the target protocol type is one of the plurality of candidate protocol types.
S506: and establishing a first network connection with the server by adopting a protocol corresponding to the target protocol type according to the domain name information of the server.
In the method for starting the application program provided by the embodiment, when the historical protocol type corresponding to the login information of the user exists in the cache, the historical protocol type is preferentially used as the target protocol type, and only when the historical protocol type corresponding to the login information of the user does not exist in the cache, the target protocol type is determined from a plurality of candidate protocol types by adopting the network protocol polling strategy, so that the network protocol polling process can be prevented from being repeated, the selection efficiency of the target protocol type is improved, and the starting time delay of the application program is reduced.
Fig. 6 is a flowchart of a method for starting an application according to another embodiment of the present application. As shown in fig. 6, the method of the present embodiment may include:
s601: and acquiring a starting request of the application program, wherein the starting request comprises domain name information of the server.
S602: the target protocol type is determined from a plurality of candidate protocol types.
In this embodiment, specific implementation manners of S601 and S602 may be referred to the detailed descriptions of the embodiments shown in fig. 3 to 5, which are not described herein.
S603: and resolving the domain name information of the server by adopting a plurality of domain name resolution libraries to obtain a target IP address.
In this embodiment, the target IP address refers to an internet protocol (Internet Protocol, IP) address of the server to be connected. The process of determining the target IP address from the domain name information of the server may also be referred to as a domain name resolution process. The domain name resolution process may be implemented by the terminal device querying a domain name system (Domain Name System, DNS). DNS is a core service of the internet that serves as a distributed database that maps domain names and IP addresses to each other, enabling people to more conveniently access the internet without having to remember IP addresses that can be read directly by machines.
In the domain name resolution process in the prior art, the domain name information of the server is usually resolved by a domain name resolution library (Local DNS) defaulted by a terminal query system. Because the default domain name resolution library has limited stored data, there may be a problem that the target IP address cannot be acquired due to failure of domain name information resolution, so that network connection cannot be established.
In this embodiment, the domain name information is resolved by using a plurality of domain name resolution libraries, so as to ensure that an accurate target IP address is resolved. Optionally, the plurality of domain name resolution libraries may include at least two of: a third party domain name resolution library (e.g., BDDNS), an HTTP domain name resolution library (HTTPDNS), a system default domain name resolution library (Local DNS). The BDDNS is a public DNS Internet basic service, is oriented to public Internet surfing users, and belongs to free DNS analysis service. HTTPDNS uses the HTTP protocol to request from port 80 of the DNS server, instead of the conventional DNS protocol to request from port 53 of the DNS server. That is, the Http protocol is used to perform DNS resolution request, and the resolution result (the server IP corresponding to the domain name) returned by the server directly initiates a corresponding API service request to the IP.
The above-mentioned various domain name resolution libraries have own unique implementation mode, but each resolution library has own advantages and disadvantages, and by adopting the above-mentioned various domain name resolution libraries to resolve domain name information, compared with the domain name resolution library (Local DNS) which only adopts the default system in the prior art, the accurate target IP address can be ensured to be resolved for domain name information.
Optionally, in order to further ensure that the correct target IP address is obtained in a short time during the parsing process, in this embodiment, priority may also be set for the multiple parsing libraries. The order of the priorities corresponding to the domain name resolution libraries is positively correlated with the resolution success probabilities corresponding to the domain name resolution libraries. For example, if the resolution success probability corresponding to a domain name resolution library is higher, the priority corresponding to the domain name resolution library is higher, and in the resolution process, the domain name resolution library may be preferentially tried to resolve the domain name.
Optionally, in this embodiment, before the domain name is resolved by using the multiple domain name resolution libraries, resolution success probabilities corresponding to the multiple domain name resolution libraries may be counted according to historical data or test data corresponding to the multiple domain name resolution libraries. Further, the order of the priorities corresponding to the domain name resolution libraries is determined according to the order of the resolution success probability from high to low.
Optionally, in this embodiment, before the domain name is resolved by using multiple domain name resolution libraries, resolution success rates corresponding to the domain name resolution libraries may be determined according to resolution performance of the domain name resolution libraries. It can be understood that the higher the resolution performance corresponding to one domain name resolution library, the greater the resolution success probability corresponding to the domain name resolution library. Further, the order of the priorities corresponding to the domain name resolution libraries is determined according to the order of the resolution success probability from high to low.
One possible ordering approach is: BDDNS, HTTPDNS Local DNS. And according to the order of the priority, sequentially adopting the 3 domain name resolution libraries to resolve the domain name information, and taking the IP address obtained by the first resolution as the target IP address.
By setting the priority for each domain name resolution library and adopting each domain name resolution library to carry out trial resolution according to the order of the priority, the target IP address can be obtained by resolution in a shorter time, and the domain name resolution efficiency is improved.
Optionally, in the process of performing the attempt resolution by using multiple domain name resolution libraries, a timeout time may be set for each domain name resolution library. For example, the timeout time may be set to 5s. When a certain domain name resolution library is adopted to attempt to resolve the domain name information, if the resolution is not successful after waiting for 5 seconds, the resolution is considered to be failed, and the next domain name resolution library is started to be retried. By adopting the mode, the target IP address can be ensured to be obtained in a short time by setting the proper timeout period, and longer polling time is avoided.
S604: and establishing a first network connection with the server by adopting a protocol corresponding to the target protocol type according to the target IP address.
It can be understood that after the target IP address is obtained by parsing, a long connection can be established with the server by using a protocol corresponding to the target protocol type according to the target IP address. This part may be implemented by socket interactions, among other things. This embodiment will not be described in detail.
As an example, fig. 7 is a schematic diagram of a domain name resolution process provided in an embodiment of the present application. Assume that the priority order of the plurality of domain name resolution libraries is: BDDNS, HTTPDNS Local DNS. As shown in fig. 7, the BDDNS is used to resolve the domain name information, and if the resolved IP address is obtained, the resolved IP address is used as the target IP address, and no attempt is made by using another resolution library. If the IP address is not resolved, the HTTPDNS is adopted to resolve the domain name information, and if the IP address is resolved, the resolved IP address is used as the target IP address. If the IP address is not resolved, the Local DNS is adopted to resolve the domain name information. After the target IP address is obtained through analysis, network connection can be established with the server according to the target IP address.
In this embodiment, by adopting multiple domain name resolution libraries to resolve domain name information, compared with the domain name resolution library (Local DNS) default only in the prior art, the domain name information can be guaranteed to resolve and obtain a correct target IP address, so as to improve the probability of successful establishment of network connection and the probability of successful start of an application program, thereby improving the online rate of the application program.
Fig. 8 is a flowchart of a method for starting an application according to another embodiment of the present application. This example presents yet another implementation of the domain name resolution process. As shown in fig. 8, the method of the present embodiment includes:
s801: and judging whether a historical IP address corresponding to the domain name information exists in the cache. If not, S802 and S803 are performed. If so, S804 is performed.
S802: and resolving the domain name information of the server by adopting a plurality of domain name resolution libraries to obtain a target IP address.
S803: judging whether the target IP address is communicated, and if so, storing the domain name information and the target IP address into the cache.
S804: and determining the historical IP address as the target IP address.
In order to avoid repeated resolution of domain name information each time the user starts an application. In this embodiment, the domain name information and the resolved target IP address may be stored. Therefore, when the user starts the application program next time, the target IP address obtained by the previous analysis can be directly obtained from the cache, the analysis efficiency of the IP address is improved, and the starting time delay of the application program is reduced.
For example, when the user starts the application program for the first time, since there is no historical IP address corresponding to the domain name information in the cache, S802 is executed, that is, multiple domain name resolution libraries are used to attempt to resolve the domain name information of the server, so as to obtain the target IP address. It can be appreciated that the implementation of S802 is similar to S603 in fig. 6, and will not be repeated here. After the target IP address is obtained through analysis, the domain name information and the target IP address are stored in a cache. Thus, when the user starts the application program next time, the historical IP address corresponding to the domain name information can be preferentially obtained from the cache, and the historical IP address is used as the target IP address, so that the domain name resolution process is prevented from being repeated.
In an actual application scenario, the domain name resolution process may be affected by the current network environment. The network environment may include at least one of the following: network signal strength, network connection mode (2G, 3G, 4G, 5G, 6G, wiki, etc.), geographic location, etc.
Therefore, in one possible implementation manner of the present embodiment, in S803, when it is determined that the resolved target IP address is connected, the current network environment information may also be stored in the cache, that is, the domain name information, the network environment information, and the target IP address may be stored in the cache. In this way, when the user subsequently starts the application, in S801, it can be determined whether or not there is a target IP address corresponding to the domain name information and the current network environment information in the cache. Thereby ensuring the accuracy of the target IP address obtained from the cache.
In the method for starting the application program provided by the embodiment, when the historical IP address corresponding to the domain name information exists in the cache, the historical IP address is preferentially used as the target IP address, and only when the historical IP address corresponding to the domain name information does not exist in the cache, the domain name information is resolved by adopting the plurality of domain name resolution libraries, so that the domain name resolution process can be prevented from being repeated, the domain name resolution efficiency is improved, and the starting time delay of the application program is reduced.
On the basis of the above embodiments, after the terminal device establishes a long connection with the network device, the method may further include: and sending a service request to the server according to the service request queue.
Wherein the application may support multiple traffic types. Different service types may run in parallel, i.e. different service types may send service requests to the server at the same time. Thus, a service request queue may be set for an application. The service request queue comprises a plurality of service requests, each service request corresponds to a service priority, and the service requests in the service request queue are ordered according to the service priorities corresponding to the service requests.
Specifically, service priorities may be configured for different service requests according to service system characteristics. When the service request is added into the service request queue, the service requests in the service request queue are ordered according to the service priority. Therefore, only after the service request with high priority gets the result, the service request with low priority can be processed, and the stability of service logic is ensured.
Optionally, the service priority corresponding to the login request is higher than the service priority corresponding to other service requests. That is, when a login request is included in the service request queue, the login request is arranged in front of other service requests.
Alternatively, the login request is one and only one time. That is, when a login request is included in the service request queue, only one login request can exist in the service request queue.
In practical applications, constraints between different service requests may also be set. For example, the login request must be initiated before other service requests, and after the login request is successful, the other service requests can be performed. In one example, the login state of the application is determined before initiating the service request, and if the application is not logged in, the login request is added to the queue head of the service request queue, and then the login request is sent out. In another example, all business logic listens for callbacks of login requests, and only after the callbacks of login requests are heard, the corresponding business logic can be processed.
Fig. 9 is a schematic diagram of a processing procedure of a service request queue provided in an embodiment of the present application. As shown in fig. 9, the service request queue includes: service request P0, service request P1, service request P2, service request P3, etc. Wherein, the service request P0 is a login request. Only when the service request P0 is successfully transmitted, other service requests in the service request queue are transmitted. Other service requests may be processed in parallel or may be processed in series.
Optionally, in this embodiment, constraints between different threads may be set, so that other service-related threads are created only after the network connection establishment thread is successfully created. For example, when a service request sending/receiving thread needs to be created, the state of the network connection establishment thread is firstly judged, and after the successful creation of the network connection establishment thread is determined, the service request sending/receiving thread is created. Optionally, a timeout may be set for each thread, avoiding long waiting in the thread creation process.
In this embodiment, by designing priorities of different service requests, only after a service request with a high priority obtains a result, a service request with a low priority is processed, so as to ensure stability of service logic. In addition, the service priority of the login request is higher than that of other service requests, so that the problem of failure of other service requests caused by the fact that the login request is not sent can be avoided, normal starting of an application program is guaranteed, and the online rate of the application program is improved.
Fig. 10 is a schematic structural diagram of an application program starting device according to an embodiment of the present application. The apparatus of this embodiment may be in the form of software and/or hardware. The apparatus may be provided in a terminal device as shown in fig. 1. As shown in fig. 9, the application program starting apparatus 100 of the present embodiment includes: an acquisition module 101, a protocol selection module 102, a connection establishment module 103. Wherein, the liquid crystal display device comprises a liquid crystal display device,
An obtaining module 101, configured to obtain a start request of an application, where the start request includes domain name information of a server;
a protocol selection module 102, configured to determine a target protocol type from a plurality of candidate protocol types;
and the connection establishing module 103 is configured to establish a first network connection with the server by using a protocol corresponding to the target protocol type according to the domain name information of the server.
In a possible implementation manner, the protocol selection module 102 is specifically configured to: and establishing a second network connection with the server by adopting a protocol corresponding to each candidate protocol type in sequence, and taking the candidate protocol type adopted when the second network connection is successfully established for the first time as a target protocol type.
In a possible implementation manner, each candidate protocol type corresponds to a priority, and the order of the priorities corresponding to the multiple candidate protocol types is positively correlated with the probability of success of network connection corresponding to the multiple candidate protocol types; the protocol selection module 102 is specifically configured to: and establishing a second network connection with the server by adopting the protocol corresponding to each candidate protocol type in turn according to the sequence of the priorities corresponding to the candidate protocol types.
In a possible implementation manner, the protocol selection module 102 is further configured to: judging whether a history protocol type corresponding to login information of the user exists in a cache; if the history protocol type corresponding to the login information of the user exists in the cache, taking the history protocol type as a target protocol type; the protocol selection module 102 is specifically configured to: and if the historical protocol type corresponding to the login information of the user does not exist in the cache, determining the target protocol type from a plurality of candidate protocol types.
In a possible implementation manner, the protocol selection module 102 is further configured to: and storing the login information of the user and the target protocol type into the cache.
In a possible implementation manner, the plurality of candidate protocol types include at least two of the following: GRPC, QUIC, http2, tcp+tls.
In a possible implementation manner, the connection establishment module 103 is specifically configured to: resolving domain name information of the server by adopting a plurality of domain name resolution libraries to obtain a target IP address; and establishing a first network connection with the server by adopting a protocol corresponding to the target protocol type according to the target IP address.
In a possible implementation manner, each domain name resolution library corresponds to a priority, and the order of the priorities corresponding to the domain name resolution libraries is positively correlated with resolution success probabilities corresponding to the domain name resolution libraries; the connection establishment module 103 is specifically configured to: and sequentially adopting the domain name resolution libraries to resolve the domain name information according to the order of the priorities corresponding to the domain name resolution libraries, and taking the IP address obtained by the first resolution as the target IP address.
In a possible implementation manner, the connection establishment module 103 is further configured to: judging whether a historical IP address corresponding to the domain name information exists in a cache; if the historical IP address corresponding to the domain name information exists in the cache, determining the historical IP address as the target IP address; the connection establishment module 103 is specifically configured to: and if the historical IP address corresponding to the domain name information does not exist in the cache, analyzing the domain name information of the server by adopting a plurality of domain name analysis libraries to obtain a target IP address.
In a possible implementation manner, the connection establishment module 103 is further configured to: judging whether the target IP address is communicated, and if so, storing the domain name information and the target IP address into the cache.
Fig. 11 is a schematic structural diagram of an application program starting device according to another embodiment of the present application. On the basis of the embodiment shown in fig. 10, as shown in fig. 11, the application starting apparatus 100 of the present embodiment may further include: the service processing module 104.
The service processing module 104 is configured to send a service request to the server according to a service request queue, where the service request queue includes a plurality of service requests, each service request corresponds to a service priority, and the plurality of service requests in the service request queue are ordered according to the service priorities corresponding to the service requests.
In a possible implementation manner, the service request queue includes a login request, and a service priority corresponding to the login request is higher than a service priority corresponding to other service requests.
The starting device for an application program provided in the embodiment of the present application may be used to execute the technical solution of any one of the above method embodiments, and its implementation principle and technical effect are similar, and are not repeated here.
According to embodiments of the present application, an electronic device and a readable storage medium are also provided.
As shown in fig. 12, a block diagram of an electronic device according to an application program start method according to an embodiment of the present application is shown. 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. The electronic device may also represent various forms of mobile devices, such as personal digital processing, cellular telephones, smartphones, 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 application described and/or claimed herein.
As shown in fig. 12, the electronic device includes: one or more processors 701, memory 702, and interfaces for connecting the various components, including high-speed interfaces and low-speed interfaces. 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 executing within the electronic device, including instructions stored in or on memory to display graphical information of the GUI on an external input/output device, such as a display device coupled to the interface. In other embodiments, multiple processors and/or multiple buses may be used, if desired, along with multiple memories and multiple memories. Also, multiple electronic devices may be connected, each providing a portion of the necessary operations (e.g., as a server array, a set of blade servers, or a multiprocessor system). One processor 701 is illustrated in fig. 12.
Memory 702 is a non-transitory computer-readable storage medium provided herein. The memory stores instructions executable by the at least one processor to cause the at least one processor to perform the method for starting the application provided herein. The non-transitory computer readable storage medium of the present application stores computer instructions for causing a computer to execute the method of starting an application provided herein.
The memory 702 is used as a non-transitory computer readable storage medium, and is used to store non-transitory software programs, non-transitory computer executable programs, and modules, such as program instructions/modules (e.g., the acquisition module 101, the protocol selection module 102, the connection establishment module 103, and the service processing module 104 of fig. 11) corresponding to the application program starting method in the embodiment of the present application. The processor 701 executes various functional applications of the server or the terminal device and data processing by executing non-transitory software programs, instructions, and modules stored in the memory 702, that is, implements the method for starting the application program in the above-described method embodiment.
Memory 702 may include a storage program area that may store an operating system, at least one application program required for functionality, and a storage data area; the storage data area may store data created by use of the electronic device, and the like. In addition, the memory 702 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, memory 702 may optionally include memory located remotely from processor 701, which may be connected to the electronic device via 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 may further include: an input device 703 and an output device 704. The processor 701, the memory 702, the input device 703 and the output device 704 may be connected by a bus or otherwise, in fig. 12 by way of example.
The input device 703 may receive input numeric or character information and generate key signal inputs related to user settings and function control of the electronic device, such as a touch screen, keypad, mouse, trackpad, touchpad, pointer stick, one or more mouse buttons, trackball, joystick, and like input devices. The output device 704 may include a display apparatus, auxiliary lighting devices (e.g., LEDs), and haptic feedback devices (e.g., vibration 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 may be a touch screen.
Various implementations of the systems and techniques described here can be realized in digital electronic circuitry, integrated circuitry, application specific ASIC (application specific integrated circuit), computer hardware, firmware, software, and/or combinations thereof. These various embodiments may include: implemented in one or more computer programs, the one or more computer programs may be executed and/or interpreted on a programmable system including at least one programmable processor, which may be a special purpose or general-purpose programmable processor, that may receive data and instructions from, and transmit data and instructions to, a storage system, at least one input device, and at least one output device.
These computing programs (also referred to as programs, software applications, or code) include machine instructions for a programmable processor, and may be implemented in a high-level procedural and/or object-oriented programming language, and/or in assembly/machine language. 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 pointing device (e.g., a mouse or 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 may 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 input, speech input, or tactile input.
The systems and techniques described here can be implemented in a computing system that includes a background 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 background, 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 a client and a server. The client and server are typically 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.
It should be appreciated that various forms of the flows shown above may be used to reorder, add, or delete steps. For example, the steps described in the present application may be performed in parallel, sequentially, or in a different order, provided that the desired results of the technical solutions disclosed in the present application can be achieved, and are not limited herein.
The above embodiments do not limit the scope of the application. It will be apparent to those skilled in the art that various modifications, combinations, sub-combinations and alternatives are possible, depending on design requirements and other factors. Any modifications, equivalent substitutions and improvements made within the spirit and principles of the present application are intended to be included within the scope of the present application.

Claims (13)

1. A method for starting an application program, comprising:
acquiring a starting request of an application program, wherein the starting request comprises domain name information of a server;
judging whether a history protocol type corresponding to login information of a user exists in the cache;
if the historical protocol type corresponding to the login information of the user does not exist in the cache, a second network connection is established with the server by sequentially adopting a protocol corresponding to each candidate protocol type according to the sequence of priorities corresponding to the candidate protocol types, and the candidate protocol type adopted when the second network connection is established for the first time is used as a target protocol type; the priority orders corresponding to the plurality of candidate protocol types are positively correlated with the network connection success probabilities corresponding to the plurality of candidate protocol types;
And establishing a first network connection with the server by adopting a protocol corresponding to the target protocol type according to the domain name information of the server.
2. The method according to claim 1, wherein the method further comprises:
and if the history protocol type corresponding to the login information of the user exists in the cache, taking the history protocol type as a target protocol type.
3. The method according to claim 2, wherein after said setting the candidate protocol type used when the second network connection is successfully established for the first time as the target protocol type, further comprising:
and storing the login information of the user and the target protocol type into the cache.
4. The method of claim 1, wherein the plurality of candidate protocol types comprises at least two of: remote procedure call protocol GRPC, fast UDP internet connection protocol quitc, hypertext transfer protocol Http2, transmission control protocol TCP and security transport layer protocol TLS.
5. The method according to any one of claims 1 to 4, wherein the establishing a first network connection with the server using a protocol corresponding to the target protocol type according to domain name information of the server includes:
Resolving domain name information of the server by adopting a plurality of domain name resolution libraries to obtain a target Internet Protocol (IP) address;
and establishing a first network connection with the server by adopting a protocol corresponding to the target protocol type according to the target IP address.
6. The method of claim 5, wherein each of the domain name resolution libraries corresponds to a priority, and wherein the order of priority for the plurality of domain name resolution libraries is positively correlated with the resolution success probability for the plurality of domain name resolution libraries; the method for resolving the domain name information of the server by adopting a plurality of domain name resolution libraries to obtain a target IP address comprises the following steps:
and sequentially adopting the domain name resolution libraries to resolve the domain name information according to the order of the priorities corresponding to the domain name resolution libraries, and taking the IP address obtained by the first resolution as the target IP address.
7. The method of claim 5, wherein the method further comprises:
judging whether a historical IP address corresponding to the domain name information exists in a cache;
if the historical IP address corresponding to the domain name information exists in the cache, determining the historical IP address as the target IP address;
The method for resolving the domain name information of the server by adopting a plurality of domain name resolution libraries to obtain a target IP address comprises the following steps:
and if the historical IP address corresponding to the domain name information does not exist in the cache, analyzing the domain name information of the server by adopting a plurality of domain name analysis libraries to obtain a target IP address.
8. The method of claim 6, wherein after the first resolving the IP address as the target IP address, further comprising:
judging whether the target IP address is communicated, and if so, storing the domain name information and the target IP address into the cache.
9. The method according to any one of claims 1 to 4, wherein after the establishing a first network connection with the server using a protocol corresponding to the target protocol type according to the domain name information of the server, the method further comprises:
and sending service requests to the server according to a service request queue, wherein the service request queue comprises a plurality of service requests, each service request corresponds to a service priority, and the plurality of service requests in the service request queue are ordered according to the corresponding service priorities.
10. The method of claim 9, wherein the service request queue includes a login request, and wherein the login request corresponds to a higher service priority than other service requests.
11. An application program starting apparatus, comprising:
the system comprises an acquisition module, a control module and a control module, wherein the acquisition module is used for acquiring a starting request of an application program, and the starting request comprises domain name information of a server;
the protocol selection module is used for judging whether a historical protocol type corresponding to login information of the user exists in the cache;
if the historical protocol type corresponding to the login information of the user does not exist in the cache, a second network connection is established with the server by sequentially adopting a protocol corresponding to each candidate protocol type according to the sequence of priorities corresponding to the candidate protocol types, and the candidate protocol type adopted when the second network connection is established for the first time is used as a target protocol type; the priority orders corresponding to the plurality of candidate protocol types are positively correlated with the network connection success probabilities corresponding to the plurality of candidate protocol types;
and the connection establishment module is used for establishing a first network connection with the server by adopting a protocol corresponding to the target protocol type according to the domain name information of the server.
12. An electronic device, comprising:
at least one processor; and
a memory communicatively coupled to the at least one processor; wherein, the liquid crystal display device comprises a liquid crystal display device,
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 to 10.
13. A non-transitory computer readable storage medium storing computer instructions for causing the computer to perform the method of any one of claims 1 to 10.
CN202010175356.4A 2020-03-13 2020-03-13 Application program starting method, device and equipment Active CN111414208B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010175356.4A CN111414208B (en) 2020-03-13 2020-03-13 Application program starting method, device and equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010175356.4A CN111414208B (en) 2020-03-13 2020-03-13 Application program starting method, device and equipment

Publications (2)

Publication Number Publication Date
CN111414208A CN111414208A (en) 2020-07-14
CN111414208B true CN111414208B (en) 2023-08-01

Family

ID=71491055

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010175356.4A Active CN111414208B (en) 2020-03-13 2020-03-13 Application program starting method, device and equipment

Country Status (1)

Country Link
CN (1) CN111414208B (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112039884B (en) * 2020-08-31 2022-05-31 浪潮云信息技术股份公司 Application method of quick interconnection protocol QUIC in distributed database system
CN112383617A (en) * 2020-11-12 2021-02-19 百度在线网络技术(北京)有限公司 Method, device, terminal equipment and medium for long connection
CN113726922B (en) * 2021-09-01 2023-10-31 北京百度网讯科技有限公司 Network application layer connection protocol determining method and device and electronic equipment
CN114124891B (en) * 2021-10-25 2023-12-19 青岛海尔科技有限公司 Processing method and device of network request, storage medium and electronic device
CN114422574A (en) * 2022-02-10 2022-04-29 Oppo广东移动通信有限公司 Connection establishment method and device, electronic equipment and computer readable storage medium
CN116248631A (en) * 2022-12-02 2023-06-09 中国互联网络信息中心 DoQ priority setting method and system
CN116760878B (en) * 2023-08-21 2023-12-01 每日互动股份有限公司 Processing method, device, equipment and medium for network connection and transmission

Citations (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101815104A (en) * 2010-03-19 2010-08-25 中兴通讯股份有限公司 Network protocol address feedback method and domain name resolution server
CN102129437A (en) * 2010-01-12 2011-07-20 腾讯科技(北京)有限公司 Domain name matching method and browser
CN103297564A (en) * 2013-07-03 2013-09-11 深圳市共进电子股份有限公司 Method for automatically switching address of external proxy server
CN103781148A (en) * 2014-02-25 2014-05-07 重庆邮电大学 Stable clustering routing method based on link perception in vehicle-mounted self-organizing network
JP2014103553A (en) * 2012-11-20 2014-06-05 Toshiba Corp Communication device, communication method and program
CN104065761A (en) * 2011-09-29 2014-09-24 北京奇虎科技有限公司 Application server selecting method and network connection method
CN104700512A (en) * 2013-12-06 2015-06-10 航天信息股份有限公司 Method of adopting DHCP and DNS protocol fast configuration server and network tax controller cluster
CN105227686A (en) * 2014-06-20 2016-01-06 中国电信股份有限公司 The Dynamic Configuration of cloud host domain name and system
CN105657777A (en) * 2016-03-14 2016-06-08 西安电子科技大学 Routing protocol design method based on link quality and node forwarding capacity
CN105959155A (en) * 2016-06-24 2016-09-21 维沃移动通信有限公司 Connecting method of email box and mobile terminal
CN106028062A (en) * 2016-06-24 2016-10-12 乐视控股(北京)有限公司 Video application program control method and video application program control system
CN106331215A (en) * 2016-08-30 2017-01-11 常州化龙网络科技股份有限公司 Data request processing system and processing method
CN106453011A (en) * 2016-11-30 2017-02-22 海信集团有限公司 Network connection method for intelligent home device and intelligent home gateway
CN106534390A (en) * 2017-01-24 2017-03-22 网宿科技股份有限公司 Method and system for storing and managing data of authoritative domain name system server
CN106856575A (en) * 2015-12-09 2017-06-16 中国电信股份有限公司 The method of automatic configuration of IPTV terminal, server and IPTV system
CN107547295A (en) * 2017-05-10 2018-01-05 新华三信息安全技术有限公司 A kind of aging method and device of domain name buffer list entry
CN107645543A (en) * 2017-09-04 2018-01-30 北京新流万联网络技术有限公司 Method and system applied to the non-80 caching miniport services of caching server HTTP
CN107682465A (en) * 2017-06-24 2018-02-09 平安科技(深圳)有限公司 Domain name mapping device, method and computer-readable recording medium
CN107748717A (en) * 2017-09-26 2018-03-02 深圳市牛鼎丰科技有限公司 Automatic interface testing method, device, storage medium and computer equipment
CN108123814A (en) * 2016-11-28 2018-06-05 大唐移动通信设备有限公司 A kind of method and device for small base station distributed network parameters
CN108366277A (en) * 2018-03-30 2018-08-03 武汉斗鱼网络科技有限公司 A kind of barrage server connection method, client and readable storage medium storing program for executing
CN109120482A (en) * 2018-09-28 2019-01-01 北京小米移动软件有限公司 Monitor the method and device that application program uses flow
CN109495598A (en) * 2018-10-23 2019-03-19 新华三技术有限公司合肥分公司 Domain name system parameter selection method and relevant apparatus
CN109547508A (en) * 2017-09-21 2019-03-29 阿里巴巴集团控股有限公司 A kind of method, apparatus and system for realizing resource access
CN109600458A (en) * 2019-02-22 2019-04-09 北京知道创宇信息技术股份有限公司 Website access method and device
CN109640348A (en) * 2019-01-08 2019-04-16 中国联合网络通信集团有限公司 The multi-service MEC network architecture, the processing method and processing device of multi-service data flow
CN109768882A (en) * 2018-12-21 2019-05-17 杭州全维技术股份有限公司 A kind of automatic network-building system and its failure based on the network equipment is from method of checking
CN110086797A (en) * 2019-04-22 2019-08-02 北京开广信息技术有限公司 The real-time reception method and client of Media Stream
CN110213596A (en) * 2018-03-28 2019-09-06 腾讯科技(深圳)有限公司 Switching method, device, computer equipment and storage medium is broadcast live
CN110636072A (en) * 2019-09-26 2019-12-31 腾讯科技(深圳)有限公司 Target domain name scheduling method, device, equipment and storage medium
CN110650138A (en) * 2019-09-23 2020-01-03 深圳前海微众银行股份有限公司 Server management method, device, equipment and computer readable storage medium

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100576846C (en) * 2005-05-11 2009-12-30 中国科学院计算技术研究所 Service broker's method of multi-protocols domain name mapping service
US20120295617A1 (en) * 2011-05-18 2012-11-22 Qualcomm Incorporated Selectively extending a waiting period before an originating user equipment fails a call based on network information of one or more target user equipments
US9852026B2 (en) * 2014-08-06 2017-12-26 Commvault Systems, Inc. Efficient application recovery in an information management system based on a pseudo-storage-device driver
JP6482205B2 (en) * 2014-08-21 2019-03-13 キヤノン株式会社 Information processing system, information processing apparatus, control method thereof, and control program
CN107547468B (en) * 2016-06-23 2020-03-03 广州市动景计算机科技有限公司 Network protocol switching device, method and terminal
CN109218275B (en) * 2017-07-07 2021-09-21 北京小米移动软件有限公司 Application interaction method and device
US10447741B2 (en) * 2017-07-26 2019-10-15 T-Mobile Usa, Inc. Server-managed notifications for maintaining registered state
US10498658B2 (en) * 2017-10-23 2019-12-03 Citrix Systems, Inc. Systems and methods for first packet application classification
CN108449771B (en) * 2018-06-29 2020-08-11 Oppo(重庆)智能科技有限公司 Network switching method, device, terminal and storage medium
CN109769043A (en) * 2019-03-14 2019-05-17 中国工商银行股份有限公司 Domain name analytic method, apparatus and system
CN110224996A (en) * 2019-05-20 2019-09-10 深圳壹账通智能科技有限公司 Network Access Method, device, computer equipment and the storage medium of application program
CN110247999B (en) * 2019-07-11 2022-05-06 广东美的制冷设备有限公司 Domain name resolution method, domain name resolution device, household appliance and storage medium

Patent Citations (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102129437A (en) * 2010-01-12 2011-07-20 腾讯科技(北京)有限公司 Domain name matching method and browser
CN101815104A (en) * 2010-03-19 2010-08-25 中兴通讯股份有限公司 Network protocol address feedback method and domain name resolution server
CN104065761A (en) * 2011-09-29 2014-09-24 北京奇虎科技有限公司 Application server selecting method and network connection method
JP2014103553A (en) * 2012-11-20 2014-06-05 Toshiba Corp Communication device, communication method and program
CN103297564A (en) * 2013-07-03 2013-09-11 深圳市共进电子股份有限公司 Method for automatically switching address of external proxy server
CN104700512A (en) * 2013-12-06 2015-06-10 航天信息股份有限公司 Method of adopting DHCP and DNS protocol fast configuration server and network tax controller cluster
CN103781148A (en) * 2014-02-25 2014-05-07 重庆邮电大学 Stable clustering routing method based on link perception in vehicle-mounted self-organizing network
CN105227686A (en) * 2014-06-20 2016-01-06 中国电信股份有限公司 The Dynamic Configuration of cloud host domain name and system
CN106856575A (en) * 2015-12-09 2017-06-16 中国电信股份有限公司 The method of automatic configuration of IPTV terminal, server and IPTV system
CN105657777A (en) * 2016-03-14 2016-06-08 西安电子科技大学 Routing protocol design method based on link quality and node forwarding capacity
CN106028062A (en) * 2016-06-24 2016-10-12 乐视控股(北京)有限公司 Video application program control method and video application program control system
CN105959155A (en) * 2016-06-24 2016-09-21 维沃移动通信有限公司 Connecting method of email box and mobile terminal
CN106331215A (en) * 2016-08-30 2017-01-11 常州化龙网络科技股份有限公司 Data request processing system and processing method
CN108123814A (en) * 2016-11-28 2018-06-05 大唐移动通信设备有限公司 A kind of method and device for small base station distributed network parameters
CN106453011A (en) * 2016-11-30 2017-02-22 海信集团有限公司 Network connection method for intelligent home device and intelligent home gateway
CN106534390A (en) * 2017-01-24 2017-03-22 网宿科技股份有限公司 Method and system for storing and managing data of authoritative domain name system server
CN107547295A (en) * 2017-05-10 2018-01-05 新华三信息安全技术有限公司 A kind of aging method and device of domain name buffer list entry
CN107682465A (en) * 2017-06-24 2018-02-09 平安科技(深圳)有限公司 Domain name mapping device, method and computer-readable recording medium
CN107645543A (en) * 2017-09-04 2018-01-30 北京新流万联网络技术有限公司 Method and system applied to the non-80 caching miniport services of caching server HTTP
CN109547508A (en) * 2017-09-21 2019-03-29 阿里巴巴集团控股有限公司 A kind of method, apparatus and system for realizing resource access
CN107748717A (en) * 2017-09-26 2018-03-02 深圳市牛鼎丰科技有限公司 Automatic interface testing method, device, storage medium and computer equipment
CN110213596A (en) * 2018-03-28 2019-09-06 腾讯科技(深圳)有限公司 Switching method, device, computer equipment and storage medium is broadcast live
CN108366277A (en) * 2018-03-30 2018-08-03 武汉斗鱼网络科技有限公司 A kind of barrage server connection method, client and readable storage medium storing program for executing
CN109120482A (en) * 2018-09-28 2019-01-01 北京小米移动软件有限公司 Monitor the method and device that application program uses flow
CN109495598A (en) * 2018-10-23 2019-03-19 新华三技术有限公司合肥分公司 Domain name system parameter selection method and relevant apparatus
CN109768882A (en) * 2018-12-21 2019-05-17 杭州全维技术股份有限公司 A kind of automatic network-building system and its failure based on the network equipment is from method of checking
CN109640348A (en) * 2019-01-08 2019-04-16 中国联合网络通信集团有限公司 The multi-service MEC network architecture, the processing method and processing device of multi-service data flow
CN109600458A (en) * 2019-02-22 2019-04-09 北京知道创宇信息技术股份有限公司 Website access method and device
CN110086797A (en) * 2019-04-22 2019-08-02 北京开广信息技术有限公司 The real-time reception method and client of Media Stream
CN110650138A (en) * 2019-09-23 2020-01-03 深圳前海微众银行股份有限公司 Server management method, device, equipment and computer readable storage medium
CN110636072A (en) * 2019-09-26 2019-12-31 腾讯科技(深圳)有限公司 Target domain name scheduling method, device, equipment and storage medium

Also Published As

Publication number Publication date
CN111414208A (en) 2020-07-14

Similar Documents

Publication Publication Date Title
CN111414208B (en) Application program starting method, device and equipment
EP2787696B1 (en) Method and device for transferring web real-time communication session
CN106575222B (en) Js application monitoring
US10887359B2 (en) Parallel peer to peer connection establishment in webRTC conferencing
US20220115012A1 (en) Method and apparatus for processing voices, device and computer storage medium
US9065788B2 (en) Method, device and system for voice communication
US10320951B2 (en) Systems and methods for establishing a virtual local area network
CN110933075B (en) Service calling method and device, electronic equipment and storage medium
CN112152828B (en) Game acceleration method and device, VPN terminal and storage medium
US11843642B1 (en) Serverless signaling in peer-to-peer session initialization
US11831735B2 (en) Method and device for processing mini program data
US10067862B2 (en) Tracking asynchronous entry points for an application
EP2974159B1 (en) Method, device and system for voice communication
US20210350805A1 (en) Method, apparatus, device and computer storage medium for processing voices
US10478731B2 (en) Method and apparatus for storing user data
US20160100015A1 (en) Systems and methods for resolving service initialization links in virtual desktop infrastructure environments
US20140019478A1 (en) Correlated Tracing of Requests through TDS
CN111416851A (en) Method for session synchronization among multiple load balancers and load balancer
CN110650215A (en) Function execution method and device of edge network
JP7299268B2 (en) PEER-TO-PEER CONNECTION METHOD, APPARATUS, ELECTRONIC DEVICE, STORAGE MEDIUM, AND PROGRAM
US20230055677A1 (en) Systems and methods for data linkage and entity resolution of continuous and un-synchronized data streams
CN111416852A (en) Method for session synchronization among multiple load balancers and load balancer
WO2023240560A1 (en) Bluetooth communication method and apparatus supporting multiple protocol stacks, electronic device, and medium
CN111581071B (en) Data processing method, device, equipment and storage medium
CN112118576B (en) Method and apparatus for networking over wireless hotspots

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