CN111414208A - Application program starting method, device and equipment - Google Patents
Application program starting method, device and equipment Download PDFInfo
- Publication number
- CN111414208A CN111414208A CN202010175356.4A CN202010175356A CN111414208A CN 111414208 A CN111414208 A CN 111414208A CN 202010175356 A CN202010175356 A CN 202010175356A CN 111414208 A CN111414208 A CN 111414208A
- Authority
- CN
- China
- Prior art keywords
- domain name
- protocol
- target
- server
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 91
- 230000015654 memory Effects 0.000 claims description 19
- 238000012545 processing Methods 0.000 claims description 8
- 230000005540 biological transmission Effects 0.000 claims description 6
- 230000008569 process Effects 0.000 abstract description 30
- 230000000875 corresponding effect Effects 0.000 description 76
- 238000010586 diagram Methods 0.000 description 15
- 238000004891 communication Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000003993 interaction Effects 0.000 description 5
- 230000002596 correlated effect Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/143—Termination or inactivation of sessions, e.g. event-controlled end of session
- H04L67/145—Termination 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Computer And Data Communications (AREA)
Abstract
The application discloses a starting method, a starting device and starting equipment of an application program, and relates to the technical field of networks. The technical scheme disclosed by the application comprises the following steps: the method comprises the steps of obtaining 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 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 as the target protocol type, and the protocol corresponding to the target protocol type is adopted to establish network connection with the server, so that the successful establishment probability of the network connection can be improved, and the online rate of the application program is improved.
Description
Technical Field
The present application relates to the field of internet technologies, and in particular, to a method, an apparatus, and a device for starting an application.
Background
With the development of mobile internet technology, more and more service types are supported by mobile Application programs (APPs), such as: a broadcast service, an Instant Messaging (IM) service, a PUSH (PUSH) service, a cloud control service, and the like.
The greater the dependence of the service types supported by the mobile APP on the network, the more the network connectivity of the mobile APP needs to be ensured. At present, in order to meet the requirements of various services for stability and robustness, a long connection needs to be established with a server in the starting process of a mobile APP. And after the mobile APP is started, the long connection is used for carrying out network transmission on the services.
However, in practical applications, a problem of a long connection establishment failure often occurs during a mobile APP start-up process, resulting in a low online rate of the mobile APP.
Disclosure of Invention
The application provides a starting method, a starting device and starting equipment of 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 storage module and a processing 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 determining a target protocol type from a plurality of candidate protocol types;
and the connection establishing 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 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, the present application provides a non-transitory computer-readable storage medium storing computer instructions, wherein the computer instructions are configured to cause the computer to perform the method of any one of the first aspect.
The method, the device and the equipment for starting the application program provided by the embodiment of the application program comprise the following steps: the method comprises the steps of obtaining 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 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 which is suitable for the current network environment in the multiple candidate protocol types is determined as the target protocol type, and the protocol corresponding to the target protocol type is adopted to establish network connection with the server, so that the probability of successful network connection establishment can be improved, the probability of successful application program starting can be improved, and the online rate of the application program can be improved.
Other effects of the above-described alternative will be described below with reference to specific embodiments.
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 network architecture suitable for use in the embodiments of the present application;
FIGS. 2A and 2B illustrate two possible ways to launch an application;
fig. 3 is a flowchart illustrating a method for starting an application according to an embodiment of the present application;
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 application;
fig. 6 is a flowchart illustrating 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 illustrating a method for starting an application according to another embodiment of the present application;
fig. 9 is a schematic diagram of a process of processing a service request queue according to an embodiment of the present application;
fig. 10 is a schematic structural diagram of an application start device according to an embodiment of the present application;
fig. 11 is a schematic structural diagram of an application start 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
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 of a network architecture suitable for use in the 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 equipment is provided with a mobile application program (APP). A Terminal device is also referred to as a Terminal (Terminal), a User Equipment (UE), an access Terminal, a subscriber unit, a mobile device, a user Terminal, a wireless communication device, a user agent, or a user equipment. The terminal device may be a Personal Digital Assistant (PDA) device, a smart tv, a handheld device (e.g., a smart phone or a tablet computer) with a wireless communication function, a computing device (e.g., a Personal Computer (PC)), an in-vehicle device, a wearable device, and the like.
The server is an electronic device with data storage and/or data processing functions. The server may be a centralized server or a distributed server. The server may also be a cloud server.
The terminal device is provided with an application program, and the terminal device can be used as a client of the application program. The user starts the application program, so that the terminal equipment can establish network connection with the server. Fig. 2A and 2B illustrate two possible ways to launch an application. Take the terminal device as a mobile phone as an example. In one mode of launching, as shown in fig. 2A (a), a user may click an icon of an application on a desktop of the mobile phone (assuming that the icon clicked by the user is an icon of a search engine application), and trigger launching of the application, so that the mobile phone displays an application main interface as shown in fig. 2A (b).
In another starting mode, as shown in (a) in fig. 2B, 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 is caused to display a login interface as shown in (B) in fig. 2B. After the user inputs user login information in the login interface and clicks the login button, the application program is triggered and started, so that the mobile phone displays the main interface of the application program as shown in (c) of fig. 2B.
It can be understood that fig. 2A and 2B are only schematic diagrams of the application program starting manner, and the content displayed in each interface in the drawings is only an exemplary illustration and is not a limitation. In addition, the user may also use other ways to start the application program (e.g. voice command start, etc.), which is not limited in this embodiment.
To facilitate the subsequent understanding, several concepts involved in the embodiments of the present application are explained and illustrated below.
Long connection: it means that a plurality of data packets can be continuously transmitted on one connection, and if no data packet is transmitted during the connection holding period, a link detection packet needs to be transmitted by two parties.
Short connection: the short connection means that when both communication parties have data interaction, a connection is established, and after the data transmission is completed, the connection is disconnected, that is, only one service is transmitted in each connection.
Online rate of application: for measuring the probability of successful application launch. The following formula can be generally used for obtaining: the online rate is the number of times the application was successfully started/the total number of times the application was started. The optimization of the online rate can directly improve the network connection stability of each service supported by the application program. The improvement of the online rate can also reduce the occurrence of abnormity such as disconnection and the like, so that the user experience is more flow.
Domain Name (Domain Name): also known as a network domain, is the name of a computer or group of computers on the Internet that is composed of a string of names separated by points, and is used to identify the location (sometimes also referred to as a geographical location) of the computer during data transmission.
Port number: the server side may have many ports, and each port is numbered, that is, a port number, in order to distinguish the ports. Port numbers are only integers ranging from 0 to 65535. The 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 various stable and robust 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 that the waste of network resources caused by frequent short connection establishment processes is avoided. However, during the starting process of the application program, a problem of a long connection establishment failure often occurs, so that the online rate of the application program is low.
In order to solve the foregoing technical problem, an embodiment of the present application provides a method for starting an application program. The method may be applied in a terminal device as shown in fig. 1. In the starting process of the application program, a target protocol type with higher network connection establishment success probability is selected from multiple candidate protocol types, and a long connection is established between a protocol corresponding to the target protocol type and the server, so that the success of the long connection establishment with high probability is ensured, and the online rate of the application program is improved.
The technical solution of the present application is described in detail below with reference to several specific embodiments. Several of the following embodiments may be combined with each other and the description of the same or similar content may not be repeated in some embodiments.
Fig. 3 is a flowchart illustrating 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 this embodiment may be any application program installed in the terminal device and required to establish a network connection with the server.
When the terminal device detects an operation or instruction for starting the application program input by a user, a starting request of the application program is obtained. For example, when the 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 the user inputs a voice instruction for starting an application to the terminal device, the terminal device acquires a start request for the application.
The start request includes domain name information of the server. The domain name information of the server is used for identifying the server to be connected. Optionally, the start request may further include a port number of the server.
S302: a target protocol type is determined from a plurality of candidate protocol types.
In the prior art, a Transmission Control Protocol (TCP) Protocol is used when a terminal device establishes a network connection with a server. TCP is a connection-oriented, reliable, byte-stream based transport-layer communication protocol. In practice, however, some network environments may not be suitable for establishing a network connection using the TCP protocol, thereby resulting in a network connection establishment failure.
The candidate protocol types can be various, and optionally, the various candidate protocol types can comprise at least two of GRPC, QUIC, Http2 and TCP + T L S.
GRPC is a high performance, open source, universal 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), hypertext Transport protocol 2.0, is the next generation HTTP protocol T L S (Transport L a layer Security) used to provide privacy and data integrity between two communication applications.
The target protocol type refers to a protocol type which is determined by the terminal device from a plurality of candidate protocol types and is used 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 applicable to the current network environment among the multiple candidate protocol types, or the target protocol type is a protocol type capable of ensuring successful establishment of the network connection with a high probability among the multiple candidate protocol types.
For example, the terminal device selects a target protocol type from a plurality of candidate protocol types, and may have various embodiments. For example, a network protocol polling policy may be adopted, network connections are respectively tried to be established with the server for multiple candidate protocol types, and the candidate protocol type corresponding to the successful establishment of the network connection is determined as the target protocol type. As another example, the correspondence between the network environment and the candidate protocol type may be agreed in advance. When a user starts an application program in different network environments, a candidate protocol type corresponding to the current network environment is adopted as a target protocol type.
In a possible implementation manner, a network protocol polling policy may be adopted, a protocol corresponding to each candidate protocol type is sequentially adopted to establish the second network connection with the server, and the candidate protocol type adopted when the second network connection is successfully established for the first time is taken as the target protocol type.
Wherein the second network connection may be a short connection. Illustratively, a GRPC protocol is first used to attempt to establish a short connection with a server, and if the short connection is successfully established, the GRPC is used as a target protocol type without polling subsequent candidate protocol types. If the short connection is failed to be established, the QUIC protocol is adopted to try to connect the short connection with the server, and the like.
Through the network protocol polling strategy, the determined target protocol type can be ensured to be the protocol type which can ensure that the network connection is successfully established, so that the probability of successful network connection establishment is improved.
Optionally, a timeout duration may be set for each candidate protocol type. For example, the timeout period may be set to 5 s. When a certain candidate protocol is adopted to try to establish short connection with a server, if the short connection is not established successfully after waiting for 5s, the short connection is considered to be established unsuccessfully, and polling of the next candidate protocol is started. By adopting the mode, the appropriate target protocol type can be ensured to be determined in a short time by setting the appropriate timeout duration, and the longer time consumption of polling is avoided.
Optionally, each candidate protocol type is associated with a priority. The sequence of the priorities corresponding to the multiple candidate protocol types is positively correlated with the network connection success probability corresponding to the multiple candidate protocol types. For example, if the probability of success of the network connection 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 tried preferentially in the polling process.
Optionally, in this embodiment, before polling the multiple candidate protocol types, the network connection success probabilities 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 then, determining the sequence of the priorities corresponding to the multiple candidate protocol types according to the sequence of the success probability of the network connection from large to small.
Optionally, in this embodiment, before polling the multiple candidate protocol types, the network connection success probability corresponding to each candidate protocol type may be determined according to the connection characteristics corresponding to each candidate protocol type. For example, connection characteristics include, but are not limited to, the following: reliability, encryption, multiplexing, header compression, congestion control, cross-language cross-platform interaction, duration of set-up, etc. It can be understood that the richer the connection features supported by a candidate protocol type are, the greater the network connection success probability corresponding to the candidate protocol type is. And then, determining the sequence of the priorities corresponding to the multiple candidate protocol types according to the sequence of the success probability of the network connection from large to small.
In one example, the priority order of the candidate protocol types is GRPC, QUIC, Http2, TCP + T L S, for example, the connection characteristics supported by GRPC include reliable, encrypted, multiplexed, header compressed, congestion control, cross-language cross-platform efficient interaction, multiple types of streaming RPC, etc. the connection characteristics supported by QUIC include reliable, encrypted, multiplexed, header compressed, congestion control, very short build-up time (0RTT-1RTT), etc. the connection characteristics supported by Http2 include reliable, encrypted, multiplexed (multiple requests can be sent in parallel), header compressed, congestion control, etc. the connection characteristics supported by TCP + T L S include reliable, encrypted, etc. according to the richness of the connection characteristics supported by the candidate protocol types, the order of the success probability of network connection corresponding to the candidate protocol types can be determined from big to small is GRPC, QUIC, Http2, Http + T L S, and therefore the order of TCP + T3538 can be determined as the priority order of the order of TCP.
By setting the priority for each protocol type and performing polling attempt on each candidate protocol type according to the priority sequence, the target protocol type can be determined in a short time, so that the determination efficiency of the target protocol type is improved.
S303: and according to the domain name information of the server, establishing a first network connection with the server by adopting a protocol corresponding to the target protocol type.
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, a 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 successful establishment of the network connection 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 successful establishment probability of the network connection can be improved.
For example, FIG. 4 is a schematic diagram of a network protocol polling policy provided by an embodiment of the present application, and as shown in FIG. 4, it is assumed that the priority order of the candidate protocol types is GRPC, QUIC, Http2, and TCP + T L S.
Correspondingly, referring to fig. 4, after the terminal device obtains the start request of the application program, the priority order corresponding to the multiple candidate protocols is obtained, according to the priority order corresponding to each of the multiple candidate protocol types, the GRPC protocol is firstly adopted to try to establish short connection with the server, if the GRPC protocol short connection is successfully established, the GRPC is taken as the target protocol type, and no polling is needed to be performed on the subsequent candidate protocol types.
It can be understood that, by performing polling connection attempts on 4 protocols GRPC, QUIC, Http2, TCP + T L S corresponding to a transport layer and an application layer in a TCP/IP five-layer protocol (a physical layer, a data link layer, a network layer, a transport layer, and an application layer), it can be ensured that a selected target protocol type is a protocol type suitable for a current environment, or alternatively, it can be ensured that the selected target protocol type is a protocol type that enables successful establishment of a network connection at a high probability.
In the method for starting the application program, in the process of starting the application program, the terminal device determines a protocol type applicable to the current network environment from among multiple candidate protocol types as a target protocol type, and establishes network connection with the server by using a protocol corresponding to the target protocol type.
Fig. 5 is a flowchart illustrating a method for starting an application according to another embodiment of the present application. As shown in fig. 5, the method of this embodiment may include:
s501: the method comprises the steps of obtaining a starting request of an 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 details are not repeated.
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 in to 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, and the like.
In practical applications, when a user starts an application program, two starting modes can exist. One is login initiation, i.e., an application program is initiated and a login account is also specified. Wherein, specifying the login account may include any one of the following: case 1: as shown in fig. 2B (B), the user inputs information related to the login account. Case 2: the user selects one login account from the historical login accounts. Case 3: and the user defaults to take the last login account as the current login account. The other is login-free starting, namely, a login account is not specified while an application program is started. For example: the user may launch the application with a guest identity or an anonymous identity. In this case, the terminal device may generate a guest account or an anonymous account for the user. It can be understood that the login information of the user in this embodiment may be the specified login account, and may also be the guest account or the anonymous account.
S502: and judging whether a historical protocol type corresponding to the login information of the user exists in the cache. If not, executing S503; if so, then S505 is executed.
S503: a 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 in a cache.
S505: and taking the historical protocol type as a target protocol type.
In most application scenarios, the same user has a high probability of using a certain application in the same network environment. Therefore, according to the network protocol polling policy of the above embodiment, the target protocol type determined by the user using the same application program multiple times may be the same. For example, if the user frequently uses the application 1 at home, the target protocol type determined by the polling policy is GRPC each time the user starts the application 1 at home.
In order to avoid that the user performs polling attempts on the plurality of 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 historical protocol type adopted before can be directly obtained from the cache to serve 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.
Illustratively, when the user starts the application program for the first time, since the historical protocol type corresponding to the login information of the user does not exist in the cache, S503 is executed, that is, a network protocol polling policy is adopted to determine a target protocol type suitable for the current network environment from a plurality of candidate protocol types. It can be understood that the implementation of S503 is similar to S302 in fig. 3, and is not described herein. And after the target protocol type is determined, storing the login information of the user and the target protocol type into a cache.
Therefore, when the user starts the application program next time, the historical protocol type corresponding to the login information of the user can be preferentially obtained from the cache, and the historical 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 multiple candidate protocol types through the network protocol polling policy, in S505, taking the historical protocol type as the target protocol type can also ensure that the target protocol type is one of the multiple 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 application program starting method provided by this embodiment, when a history protocol type corresponding to login information of a user exists in a cache, the history protocol type is preferentially used as a target protocol type, and only when the history protocol type corresponding to the login information of the user does not exist in the cache, a network protocol polling policy is adopted to determine the target protocol type from a plurality of candidate protocol types, so that a network protocol polling process can be prevented from being repeated, the selection efficiency of the target protocol type is improved, and the starting delay of the application program is reduced.
Fig. 6 is a flowchart illustrating a method for starting an application according to another embodiment of the present application. As shown in fig. 6, the method of this embodiment may include:
s601: acquiring a starting request of an application program, wherein the starting request comprises domain name information of a server.
S602: a target protocol type is determined from a plurality of candidate protocol types.
In this embodiment, reference may be made to detailed descriptions of embodiments shown in fig. 3 to 5 for specific implementation of S601 and S602, which are not described herein again.
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 (IP) address of a 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 a terminal device querying a Domain Name System (DNS). DNS is a core service of the internet, and serves as a distributed database that maps domain names and IP addresses to each other, enabling a person to more conveniently access the internet without remembering the IP addresses that can be directly read by a machine.
In the prior art, domain name information of a server is generally analyzed by a default domain name analysis library (L ocal DNS) of a terminal query system, and due to limited data stored in the default domain name analysis library, the problem that a target IP address cannot be obtained due to domain name information analysis failure may exist, so that network connection cannot be established.
Optionally, the 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 (HTTP DNS), and a default domain name resolution library (L ocal DNS), where BDDNS is a public DNS internet basic service and is directed to popular internet users and belongs to a free DNS resolution service.
The various domain name resolution libraries have own unique implementation modes, but each resolution library has own advantages and disadvantages, and by adopting the various domain name resolution libraries to resolve the domain name information, compared with the domain name resolution library (L ocal DNS) which only adopts the default system in the prior art, the domain name information can be guaranteed to be resolved to obtain the correct target IP address.
Optionally, in order to further ensure that a correct target IP address is obtained in a short time during the parsing process, in this embodiment, priorities may also be set for the multiple parsing libraries. The sequence of the priorities corresponding to the domain name resolution libraries is positively correlated with the resolution success probability corresponding to the domain name resolution libraries. For example, if the higher the resolution success probability corresponding to a certain domain name resolution library, the higher the priority corresponding to the domain name resolution library, and in the resolution process, the domain name resolution library may be preferentially tried to be used for resolution of the domain name.
Optionally, in this embodiment, before the domain name is resolved by using the multiple domain name resolution libraries, the resolution success probabilities corresponding to the multiple domain name resolution libraries may also be counted according to the historical data or the test data corresponding to the multiple domain name resolution libraries. And then, determining the sequence of the priorities corresponding to the domain name resolution libraries according to the sequence of the resolution success probability from large to small.
Optionally, in this embodiment, before the domain name is analyzed by using the multiple domain name analysis libraries, the resolution success rate corresponding to each domain name analysis library may also be determined according to the resolution performance of each domain name analysis library. It can be understood that the higher the resolution performance corresponding to one domain name resolution library is, the higher the resolution success probability corresponding to the domain name resolution library is. And then, determining the sequence of the priorities corresponding to the domain name resolution libraries according to the sequence of the resolution success probability from large to small.
One possible ordering mode is BDDNS, HTTPDNS and L ocal DNS, the domain name information is analyzed by adopting the 3 domain name analysis libraries in sequence according to the priority order, and the IP address obtained by first analysis is taken as the target IP address.
The priority is set for each domain name resolution library, and the domain name resolution libraries are adopted to perform trial resolution according to the priority order, so that the target IP address can be resolved in a short time, and the domain name resolution efficiency is improved.
Optionally, in the process of attempting resolution by using multiple domain name resolution libraries, timeout time may be set for each domain name resolution library. For example, the timeout time may be set to 5 s. When a certain domain name resolution library is adopted to try to resolve the domain name information, if the domain name information is not resolved successfully after waiting for 5s, the resolution is considered to be failed, and the next domain name resolution library is retried. By adopting the mode, the target IP address can be ensured to be obtained by analyzing in a shorter time by setting the appropriate timeout duration, and the longer time consumption of polling 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 through analysis, 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. Wherein, the part can be realized by socket interaction. 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 this embodiment, where the priority order of the domain name resolution libraries is BDDNS, http DNS, and L ocal DNS, as shown in fig. 7, domain name information is resolved by using the BDDNS first, and if an IP address is obtained by resolution, the resolved IP address is used as a target IP address without trying by using other resolution libraries.
In this embodiment, by adopting various domain name resolution libraries to resolve the domain name information, compared with the domain name resolution library (L ocal DNS) that only adopts the default system in the prior art, it can be ensured that the domain name information can be resolved to obtain a correct target IP address, so that the probability of successful network connection establishment is increased, the probability of successful application program start-up is increased, and the online rate of the application program is increased.
Fig. 8 is a flowchart illustrating a method for starting an application according to another embodiment of the present application. This embodiment shows another implementation manner of the domain name resolution process. As shown in fig. 8, the method of the present embodiment includes:
s801: and judging whether the historical IP address corresponding to the domain name information exists in the cache. If not, S802 and S803 are executed. If yes, go to S804.
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: and judging whether the target IP addresses are communicated or not, and if so, storing the domain name information and the target IP addresses into the cache.
S804: and determining the historical IP address as the target IP address.
To avoid the user from repeatedly parsing the domain name information each time the user starts an application. In this embodiment, the domain name information and the target IP address obtained by the resolution may be stored. Therefore, when the user starts the application program next time, the target IP address obtained by 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 the cache does not have the historical IP address corresponding to the domain name information, S802 is executed, that is, a plurality of domain name resolution libraries are used to perform an attempt resolution on the domain name information of the server, so as to obtain the target IP address. It can be understood that the implementation of S802 is similar to S603 in fig. 6, and is not described herein. And after the target IP address is obtained through analysis, storing the domain name information and the target IP address into a cache. Therefore, 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 repeated domain name resolution process is avoided.
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: network signal strength, network connection mode (2G, 3G, 4G, 5G, 6G, wiki, etc.), geographic location, etc.
Therefore, in a possible implementation manner of this 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 also be stored in the cache. Thus, when the user subsequently starts the application program, in S801, it may be determined whether a target IP address corresponding to the domain name information and the current network environment information exists in the cache. Therefore, the accuracy of the target IP address obtained from the cache is ensured.
In the application starting method provided by this 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 using the plurality of domain name resolution libraries, so that the repeated domain name resolution process can be avoided, the domain name resolution efficiency is improved, and the starting delay of the application is reduced.
On the basis of the foregoing embodiments, after the terminal device establishes the long connection with the network device, the method may further include: and sending the service request to the server according to the service request queue.
Wherein the application may support multiple service types. Different traffic types may run in parallel, i.e. different traffic types may send traffic requests to the server at the same time. Thus, a service request queue can 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 sorted according to the respective corresponding service priorities.
Specifically, the service priority may be configured for different service requests according to the service system characteristics. And when the service requests are added into the service request queue, sequencing the service requests in the service request queue according to the service priority. Therefore, only after the service request with high priority obtains the result, the service request with low priority can be processed, and the stability of the service logic is guaranteed.
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 queued ahead of other service requests.
Optionally, the login request is and can only be requested once. 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 can also be set. For example, the login request must be initiated before the other service requests, and the other service requests can be performed after the login request is successful. In one example, the login state of the application program is judged before the service request is initiated, if the application program is not logged in, the login request is added to the head of the service request queue, and then the login request is sent out. In another example, all service logics monitor the callback of the login request, and only after the callback of the login request is monitored, the corresponding service logic can be processed.
Fig. 9 is a schematic diagram of a processing procedure of a service request queue according to 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. The service request P0 is a login request. Only if the service request P0 is successfully sent will other service requests in the service request queue be sent. Other service requests may be processed in parallel or serially.
Optionally, in this embodiment, a constraint between different threads may also be set, so that only after the network connection establishment thread is successfully created, another service related thread is created. For example, when a service request sending/receiving thread needs to be created, the state of the network connection establishment thread is judged first, and the service request sending/receiving thread is created only after the network connection establishment thread is determined to be successfully created. Optionally, a timeout time may be set for each thread, so as to avoid long-time waiting during the thread creation process.
In the embodiment, by designing the priorities of different service requests, the service request with low priority can be processed only after the service request with high priority obtains the result, thereby ensuring the stability of the service logic. Moreover, the service priority of the login request is higher than the service priorities 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 solved, normal starting of the application program is guaranteed, and the online rate of the application program is improved.
Fig. 10 is a schematic structural diagram of an application start device according to an embodiment of the present application. The apparatus of the present 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 starting apparatus 100 for an application program of the present embodiment includes: an acquisition module 101, a protocol selection module 102, and a connection establishment module 103. Wherein,
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 multiple 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 sequentially adopting the protocol corresponding to each candidate protocol type to establish second network connection with the server, 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 one possible implementation, each candidate protocol type has a priority, and the sequence of the priorities corresponding to the multiple candidate protocol types is positively correlated with the network connection success probability corresponding to the multiple candidate protocol types; the protocol selection module 102 is specifically configured to: and according to the sequence of the priorities corresponding to the multiple candidate protocol types, establishing second network connection with the server by adopting the protocol corresponding to each candidate protocol type in sequence.
In a possible implementation manner, the protocol selection module 102 is further configured to: judging whether a historical protocol type corresponding to the login information of the user exists in a cache; if the historical protocol type corresponding to the login information of the user exists in the cache, taking the historical 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 a target protocol type from multiple 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 in the cache.
In one possible implementation, the plurality of candidate protocol types includes at least two of GRPC, QUIC, Http2, TCP + T L S.
In a possible implementation manner, the connection establishing module 103 is specifically configured to: adopting a plurality of domain name resolution libraries to resolve the domain name information of the server 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 one possible implementation manner, each domain name resolution library corresponds to a priority, and the sequence 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; the connection establishing module 103 is specifically configured to: and according to the sequence of the priorities corresponding to the domain name resolution libraries, adopting the domain name resolution libraries to resolve the domain name information in sequence, and taking the IP address obtained by first resolution as the target IP address.
In a possible implementation manner, the connection establishing 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 establishing module 103 is specifically configured to: and if the historical IP address corresponding to the domain name information does not exist in the cache, adopting a plurality of domain name resolution libraries to resolve the domain name information of the server to obtain a target IP address.
In a possible implementation manner, the connection establishing module 103 is further configured to: and judging whether the target IP addresses are communicated or not, and if so, storing the domain name information and the target IP addresses into the cache.
Fig. 11 is a schematic structural diagram of an application start device according to another embodiment of the present application. In addition to the embodiment shown in fig. 10, as shown in fig. 11, the starting apparatus 100 for an application program of the present embodiment may further include: a business process 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 multiple service requests, each service request corresponds to a service priority, and the multiple service requests in the service request queue are sorted according to their corresponding service priorities.
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 service priorities corresponding to other service requests.
The starting device of the application program provided in the embodiment of the present application may be used to implement the technical solution of any one of the above method embodiments, and the implementation principle and the technical effect are similar, which are not described herein again.
According to an embodiment of the present application, an electronic device and a readable storage medium are also provided.
Fig. 12 is a block diagram of an electronic device according to an application starting method according to 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. The electronic device may also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions, are meant to be examples only, and are not meant to limit implementations of the present application that are described and/or claimed herein.
As shown in fig. 12, the electronic apparatus includes: one or more processors 701, a memory 702, 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 portions of the necessary operations (e.g., as a server array, a group of blade servers, or a multi-processor system). Fig. 12 illustrates an example of a processor 701.
The memory 702 is a non-transitory computer readable storage medium as provided herein. The memory stores instructions executable by at least one processor, so that the at least one processor executes the application program starting method provided by the application program. The non-transitory computer-readable storage medium of the present application stores computer instructions for causing a computer to execute the startup method of an application program provided by the present application.
The memory 702 is a non-transitory computer-readable storage medium, and can be used for storing non-transitory software programs, non-transitory computer-executable programs, and modules, such as program instructions/modules corresponding to the application program starting method in the embodiment of the present application (for example, the acquisition module 101, the protocol selection module 102, the connection establishment module 103 shown in fig. 10, and the business process module 104 shown in fig. 11). The processor 701 executes various functional applications of the server or the terminal device and data processing by running the non-transitory software programs, instructions, and modules stored in the memory 702, that is, implements the starting method of the application program in the above-described method embodiment.
The memory 702 may include a storage program area and a storage data area, wherein the storage program area may store an operating system, an application program required for at least one function; the storage data area may store data created by use of the electronic device, and the like. Further, 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, the memory 702 may optionally include memory located remotely from the 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 other means, and fig. 12 illustrates an example of connection by a bus.
The input devices 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, track pad, touch pad, pointing stick, one or more mouse buttons, track ball, joystick, etc. the output devices 704 may include a display device, auxiliary lighting devices (e.g., L ED), and tactile feedback devices (e.g., vibration motor), etc.
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.
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 (P L D)) 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 systems and techniques described here can be implemented on a computer having a display device (e.g., a CRT (cathode ray tube) or L CD (liquid crystal display) monitor) for displaying information to the user and a keyboard and a pointing device (e.g., a mouse or a trackball) by which the user can provide input to the computer for providing interaction with the user.
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 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.
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, and the present invention is not limited thereto as long as the desired results of the technical solutions disclosed in the present application can be achieved.
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 in accordance with 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 (15)
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;
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.
2. The method of claim 1, wherein determining the target protocol type from a plurality of candidate protocol types comprises:
and sequentially adopting the protocol corresponding to each candidate protocol type to establish second network connection with the server, and taking the candidate protocol type adopted when the second network connection is successfully established for the first time as a target protocol type.
3. The method according to claim 2, wherein each candidate protocol type corresponds to a priority, and the sequence of the priorities corresponding to the multiple candidate protocol types positively correlates with the network connection success probability corresponding to the multiple candidate protocol types; the sequentially adopting the protocols corresponding to each candidate protocol type to establish the second network connection with the server comprises the following steps:
and according to the sequence of the priorities corresponding to the multiple candidate protocol types, establishing second network connection with the server by adopting the protocol corresponding to each candidate protocol type in sequence.
4. The method of claim 1, further comprising:
judging whether a historical protocol type corresponding to the login information of the user exists in a cache;
if the historical protocol type corresponding to the login information of the user exists in the cache, taking the historical protocol type as a target protocol type;
the determining a target protocol type from a plurality of candidate protocol types includes:
and if the historical protocol type corresponding to the login information of the user does not exist in the cache, determining a target protocol type from multiple candidate protocol types.
5. The method of claim 4, wherein after determining the target protocol type from the plurality of candidate protocol types, further comprising:
and storing the login information of the user and the target protocol type in the cache.
6. The method according to claim 1, wherein said plurality of candidate protocol types includes at least two of remote procedure call protocol GRPC, fast UDP Internet connection protocol QUIC, hypertext transfer protocol Http2, Transmission control protocol TCP, and secure transport layer protocol T L S.
7. The method according to any one of claims 1 to 6, wherein the establishing 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 includes:
adopting a plurality of domain name resolution libraries to resolve the domain name information of the server to obtain a target internet Interconnection 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.
8. The method according to claim 7, wherein each domain name resolution library corresponds to a priority, and the sequence of the priorities corresponding to the domain name resolution libraries positively correlates with the resolution success probabilities corresponding to the domain name resolution libraries; the analyzing the domain name information of the server by adopting a plurality of domain name analyzing libraries to obtain the target IP address comprises the following steps:
and according to the sequence of the priorities corresponding to the domain name resolution libraries, adopting the domain name resolution libraries to resolve the domain name information in sequence, and taking the IP address obtained by first resolution as the target IP address.
9. The method of claim 7, further comprising:
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 analyzing the domain name information of the server by adopting a plurality of domain name analyzing libraries to obtain the 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, adopting a plurality of domain name resolution libraries to resolve the domain name information of the server to obtain a target IP address.
10. The method according to claim 9, wherein after the IP address obtained by the first resolution is used as the target IP address, the method further comprises:
and judging whether the target IP addresses are communicated or not, and if so, storing the domain name information and the target IP addresses into the cache.
11. The method according to any one of claims 1 to 6, wherein after the establishing the first network connection with the server by using the protocol corresponding to the target protocol type according to the domain name information of the server, the method further includes:
and sending a service request 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 sorted according to the respective corresponding service priorities.
12. The method of claim 11, wherein the service request queue comprises login requests, and wherein the service priority of the login requests is higher than the service priority of other service requests.
13. An apparatus for starting an application program, comprising:
the system comprises an acquisition module, a storage module and a processing 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 determining a target protocol type from a plurality of candidate protocol types;
and the connection establishing 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.
14. An electronic device, comprising:
at least one processor; and
a memory communicatively coupled to the at least one processor; wherein,
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 12.
15. A non-transitory computer readable storage medium storing computer instructions for causing a computer to perform the method of any one of claims 1 to 12.
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 true CN111414208A (en) | 2020-07-14 |
CN111414208B 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) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112039884A (en) * | 2020-08-31 | 2020-12-04 | 浪潮云信息技术股份公司 | Application 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 |
CN113726922A (en) * | 2021-09-01 | 2021-11-30 | 北京百度网讯科技有限公司 | Network application layer connection protocol determining method and device and electronic equipment |
CN114124891A (en) * | 2021-10-25 | 2022-03-01 | 青岛海尔科技有限公司 | Network request processing method and device, 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 |
CN114826916A (en) * | 2021-01-28 | 2022-07-29 | 阿里巴巴集团控股有限公司 | Data transmission method, device, system and computer storage medium |
CN116248631A (en) * | 2022-12-02 | 2023-06-09 | 中国互联网络信息中心 | DoQ priority setting method and system |
CN116760878A (en) * | 2023-08-21 | 2023-09-15 | 每日互动股份有限公司 | Processing method, device, equipment and medium for network connection and transmission |
Citations (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1863196A (en) * | 2005-05-11 | 2006-11-15 | 中国科学院计算技术研究所 | Service agent method for multi-protocol domain analytical service |
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 |
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 |
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 |
US20160041880A1 (en) * | 2014-08-06 | 2016-02-11 | Commvault Systems, Inc. | Efficient application recovery in an information management system based on a pseudo-storage-device driver |
US20160054965A1 (en) * | 2014-08-21 | 2016-02-25 | Canon Kabushiki Kaisha | Image forming apparatus including short-distance wireless communication unit, method of controlling the same, and storage medium |
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 |
CN107547468A (en) * | 2016-06-23 | 2018-01-05 | 广州市动景计算机科技有限公司 | Switching of network protocol device, method and terminal |
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 |
CN108449771A (en) * | 2018-06-29 | 2018-08-24 | Oppo(重庆)智能科技有限公司 | Method for switching network, device, terminal and storage medium |
CN109120482A (en) * | 2018-09-28 | 2019-01-01 | 北京小米移动软件有限公司 | Monitor the method and device that application program uses flow |
CN109218275A (en) * | 2017-07-07 | 2019-01-15 | 北京小米移动软件有限公司 | Using exchange method and device |
US20190036985A1 (en) * | 2017-07-26 | 2019-01-31 | T-Mobile Usa, Inc. | Server-managed notifications for maintaining registered state |
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 |
US20190124010A1 (en) * | 2017-10-23 | 2019-04-25 | Citrix Systems, Inc. | Systems and methods for first packet application classification |
CN109769043A (en) * | 2019-03-14 | 2019-05-17 | 中国工商银行股份有限公司 | Domain name analytic method, apparatus and system |
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 |
CN110224996A (en) * | 2019-05-20 | 2019-09-10 | 深圳壹账通智能科技有限公司 | Network Access Method, device, computer equipment and the storage medium of application program |
CN110247999A (en) * | 2019-07-11 | 2019-09-17 | 广东美的制冷设备有限公司 | Domain name analytic method, domain name mapping device, household appliance and storage medium |
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 |
-
2020
- 2020-03-13 CN CN202010175356.4A patent/CN111414208B/en active Active
Patent Citations (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1863196A (en) * | 2005-05-11 | 2006-11-15 | 中国科学院计算技术研究所 | Service agent method for multi-protocol domain analytical service |
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 |
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 |
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 |
US20160041880A1 (en) * | 2014-08-06 | 2016-02-11 | Commvault Systems, Inc. | Efficient application recovery in an information management system based on a pseudo-storage-device driver |
US20160054965A1 (en) * | 2014-08-21 | 2016-02-25 | Canon Kabushiki Kaisha | Image forming apparatus including short-distance wireless communication unit, method of controlling the same, and storage medium |
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 |
CN107547468A (en) * | 2016-06-23 | 2018-01-05 | 广州市动景计算机科技有限公司 | Switching of network protocol device, method and terminal |
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 |
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 |
CN109218275A (en) * | 2017-07-07 | 2019-01-15 | 北京小米移动软件有限公司 | Using exchange method and device |
US20190036985A1 (en) * | 2017-07-26 | 2019-01-31 | T-Mobile Usa, Inc. | Server-managed notifications for maintaining registered state |
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 |
US20190124010A1 (en) * | 2017-10-23 | 2019-04-25 | Citrix Systems, Inc. | Systems and methods for first packet application classification |
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 |
CN108449771A (en) * | 2018-06-29 | 2018-08-24 | Oppo(重庆)智能科技有限公司 | Method for switching network, device, terminal and storage medium |
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 |
CN109769043A (en) * | 2019-03-14 | 2019-05-17 | 中国工商银行股份有限公司 | Domain name analytic method, apparatus and system |
CN110086797A (en) * | 2019-04-22 | 2019-08-02 | 北京开广信息技术有限公司 | The real-time reception method and client of Media Stream |
CN110224996A (en) * | 2019-05-20 | 2019-09-10 | 深圳壹账通智能科技有限公司 | Network Access Method, device, computer equipment and the storage medium of application program |
CN110247999A (en) * | 2019-07-11 | 2019-09-17 | 广东美的制冷设备有限公司 | Domain name analytic method, domain name mapping device, household appliance and storage medium |
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 |
Cited By (15)
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 |
CN112039884A (en) * | 2020-08-31 | 2020-12-04 | 浪潮云信息技术股份公司 | Application 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 |
CN112383617B (en) * | 2020-11-12 | 2024-05-24 | 百度在线网络技术(北京)有限公司 | Method, device, terminal equipment and medium for performing long connection |
CN114826916A (en) * | 2021-01-28 | 2022-07-29 | 阿里巴巴集团控股有限公司 | Data transmission method, device, system and computer storage medium |
CN113726922B (en) * | 2021-09-01 | 2023-10-31 | 北京百度网讯科技有限公司 | Network application layer connection protocol determining method and device and electronic equipment |
CN113726922A (en) * | 2021-09-01 | 2021-11-30 | 北京百度网讯科技有限公司 | Network application layer connection protocol determining method and device and electronic equipment |
CN114124891A (en) * | 2021-10-25 | 2022-03-01 | 青岛海尔科技有限公司 | Network request processing method and device, storage medium and electronic device |
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 |
CN114422574B (en) * | 2022-02-10 | 2024-05-03 | Oppo广东移动通信有限公司 | Connection establishment method, device, electronic equipment and computer readable storage medium |
CN116248631A (en) * | 2022-12-02 | 2023-06-09 | 中国互联网络信息中心 | DoQ priority setting method and system |
CN116248631B (en) * | 2022-12-02 | 2024-05-14 | 中国互联网络信息中心 | DoQ priority setting method and system |
CN116760878A (en) * | 2023-08-21 | 2023-09-15 | 每日互动股份有限公司 | Processing method, device, equipment and medium for network connection and transmission |
CN116760878B (en) * | 2023-08-21 | 2023-12-01 | 每日互动股份有限公司 | Processing method, device, equipment and medium for network connection and transmission |
Also Published As
Publication number | Publication date |
---|---|
CN111414208B (en) | 2023-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111414208B (en) | Application program starting method, device and equipment | |
US9749143B2 (en) | Web real-time communication call transferring method and apparatus | |
US10142425B2 (en) | Session reliability for a redirected USB device | |
US9251040B2 (en) | Remote debugging in a cloud computing environment | |
US20150067031A1 (en) | Business transaction correlation with client request monitoring data | |
US10257316B2 (en) | Monitoring of node.js applications | |
US10182126B2 (en) | Multilevel redirection in a virtual desktop infrastructure environment | |
US11632361B2 (en) | Combined authentication and connection establishment for a communication channel | |
US9253129B2 (en) | Instant messaging with browser collaboration | |
US20180375907A1 (en) | Parallel peer to peer connection establishment in webrtc conferencing | |
US10320951B2 (en) | Systems and methods for establishing a virtual local area network | |
US10067862B2 (en) | Tracking asynchronous entry points for an application | |
US11843642B1 (en) | Serverless signaling in peer-to-peer session initialization | |
WO2023202276A1 (en) | Domain name resolution request processing method and apparatus, and device, medium and program product | |
EP2974159B1 (en) | Method, device and system for voice communication | |
CN112152828A (en) | Game acceleration method and device, VPN terminal and storage medium | |
US20170126844A1 (en) | Server architecture and protocol development | |
JP7299268B2 (en) | PEER-TO-PEER CONNECTION METHOD, APPARATUS, ELECTRONIC DEVICE, STORAGE MEDIUM, AND PROGRAM | |
CN114390239B (en) | Communication method, device, system, electronic device, and storage medium | |
US9219783B2 (en) | Synchronizing machines in groups | |
CN112118576B (en) | Method and apparatus for networking over wireless hotspots | |
CN108848175B (en) | Method and device for establishing TCP connection | |
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 | |
WO2023230953A1 (en) | System for disambiguating composite egress traffic for routing and other control |
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 |