Access method of application server, chip module, terminal and storage medium

By detecting the network quality of the IPv6 address and disabling the low-quality address, the terminal selects a new address from the alternative IPv6 address for access, solving the problem of poor network quality of the IPv6 address, and improving access success rate and user experience.

CN119697153AActive Publication Date: 2025-03-25HUAWEI TECH CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202311246771.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-09-25
Publication Date
2025-03-25
Estimated Expiration
2043-09-25

AI Technical Summary

Technical Problem

When the terminal accesses the application server based on the IPv6 address, if the network quality of the IPv6 address is located is poor, it will lead to network fluctuations and poor user experience on the Internet.

Method used

By detecting the network quality, if the network quality of the application server based on the first target IPv6 address is lower than the set level, the terminal will disable the IPv6 address and select a new IPv6 address from multiple alternative IPv6 addresses for access to avoid repeated use of low-quality networks.

Benefits of technology

It improves the success rate and efficiency of the terminal accessing the application server based on IPv6 addresses, and improves the user's Internet experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119697153A_ABST
    Figure CN119697153A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides an access method of an application server, a chip module, a terminal and a storage medium, and relates to the technical field of communication, the access method of the application server comprises the following steps: detecting that a first domain name is accessed for a target application; sending a first domain name resolution request to a domain name system server, wherein the first domain name resolution request is used for requesting a plurality of first IPv4 addresses and a plurality of first IPv6 addresses corresponding to the first domain name; sending a first connection request to the application server, wherein the first connection request comprises a first target IPv6 address in the plurality of first Ipv6 addresses; responding to the condition that the network quality is lower than a set quality level when the application server is accessed based on the first target IPv6 address, and detecting that the target application accesses the first domain name again; sending a second domain name resolution request to a domain name system server, wherein the second domain name resolution request is used for requesting a plurality of second Pv4 addresses and a plurality of second IPv6 addresses corresponding to the first domain name; and sending a second connection request to the application server, wherein the second connection request comprises a second target IPv6 address in the plurality of second IPv6 addresses.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The embodiments of this specification relate to the field of communication technology, and in particular, to an access method of an application server, a chip module, a terminal, and a storage medium. [Background technology]

[0002] At present, with the transition from Internet Protocol version 4 (IPv4) to Internet Protocol version 6 (IPv6), most terminals support IPv4 and IPv6 dual stack functions by default, that is, terminals can access application servers through both IPv4 addresses and IPv6 addresses. Considering that deploying IPv6 is the future development direction of the network, terminals usually give priority to using IPv6 addresses to access application servers.

[0003] When an application in a terminal needs to access a large website, the domain name of the large website may correspond to multiple IPv4 addresses and multiple IPv6 addresses at the same time. At this time, the application in the terminal can preferentially access the application server corresponding to the large website based on one of the multiple IPv6 addresses. However, due to fluctuations in the network where the IPv6 address is located, the network quality between the terminal and the corresponding application server may be poor, resulting in a poor Internet experience for users. [Summary of the invention]

[0004] The embodiments of this specification provide an application server access method, chip module, terminal and storage medium, which can avoid repeatedly using an IPv6 address to access an application server when the network quality of the network where a certain IPv6 address is located is poor, thereby improving the success rate of the terminal accessing the application server based on the IPv6 address and the efficiency of accessing the application server, which is beneficial to improving the user's Internet experience.

[0005] In a first aspect, an embodiment of the present specification provides a method for accessing an application server, the method comprising:

[0006] A first operation on a target application is detected, where the first operation instructs the target application to access a first domain name;

[0007] In response to the first operation, sending a first domain name resolution request to a domain name system server, where the first domain name resolution request is used to request a plurality of first IPv4 addresses and a plurality of first IPv6 addresses corresponding to the first domain name;

[0008] Receiving the multiple first IPv4 addresses and the multiple first IPv6 addresses sent by the domain name system server, and sending a first connection request to a first application server, wherein the first connection request includes a first target IPv6 address among the multiple first IPv6 addresses;

[0009] In response to determining that the network quality when accessing the first application server based on the first target IPv6 address is lower than a first set network quality level, and detecting a second operation for the target application, the second operation instructs the target application to access the first domain name again;

[0010] In response to the second operation, sending a second domain name resolution request to the domain name system server, where the second domain name resolution request is used to request multiple second Pv4 addresses and multiple second IPv6 addresses corresponding to the first domain name;

[0011] Receive the multiple second IPv4 addresses and the multiple second IPv6 addresses sent by the domain name system server, and send a second connection request to the second application server, the second connection request includes a second target IPv6 address among the multiple second IPv6 addresses, and the second target IPv6 address is different from the first target IPv6 address.

[0012] In the embodiment of the present specification, when the target application on the terminal needs to access the first domain name, the terminal requests the multiple first IPv4 addresses and the multiple first IPv6 addresses corresponding to the first domain name from the domain name system server by default. After obtaining the multiple first IPv4 addresses and the multiple first IPv6 addresses corresponding to the first domain name, based on the principle of giving priority to the use of IPv6 addresses, the terminal can select a certain IPv6 address from the multiple first IPv6 addresses, such as the first target IPv6 address, to initiate a connection request to the corresponding first application server. If the terminal determines that the network quality in the process of accessing the first application server based on the first target IPv6 address is poor, it can be considered that the network where the first target IPv6 address is located fluctuates. At this time, if it is detected that the target application accesses the first domain name again, the terminal will again request and receive multiple second IPv4 addresses and multiple second IPv6 addresses corresponding to the first domain name from the domain name system server, and then select the second target IPv6 address from the multiple second IPv6 addresses to access the corresponding second application server, instead of continuing to access the corresponding first application server based on the first target IPv6, avoiding repeated access anomalies caused by repeatedly using the first target IPv6 address to access the application server, thereby improving the success rate of the terminal accessing the application server based on the IPv6 address and the efficiency of accessing the application server, which is beneficial to improving the user's Internet experience.

[0013] Optionally, determining that the network quality when accessing the first application server based on the first target IPv6 address is lower than a first set network quality level includes:

[0014] Determine a single-address connection abnormality rate according to the number of IPv6 sockets whose target address is the first application server and which are created within a first preset time period, and the number of the IPv6 sockets that are not responded to by the first application server;

[0015] Determine a single-address data transmission abnormality rate according to the number of data packets sent by the first application server and received within the first preset time period, and the number of abnormal data packets in the data packets;

[0016] Obtaining a first network abnormality rate within a unit time period according to the single-address connection abnormality rate, the single-address data transmission abnormality rate, and the first preset time period;

[0017] In response to the first network abnormality rate being higher than a first set threshold, it is determined that the network quality when accessing the first application server based on the first target IPv6 address is lower than the first set network quality level.

[0018] In the embodiment of the present specification, on the one hand, the terminal creates an IPv6 socket with the target address of the first application server, which is used to establish a connection with the first application server. Therefore, the terminal can determine the single-address connection abnormality rate in the process of establishing a connection based on a single IPv6 address by counting the number of IPv6 sockets created and the number of IPv6 sockets in the created IPv6 sockets that are not responded by the first application server. If the single-address connection abnormality rate is larger, it indicates that the target application in the terminal is based on the first target IPv6 address. The higher the possibility of an abnormality in the process of establishing a connection with the first application server, the lower the possibility of an abnormality in the process of establishing a connection with the first application server based on the first target IPv6 address; on the other hand, after the terminal establishes a connection with the first application server based on the first target IPv6 address, by counting the number of data packets sent by the first application server and the number of abnormal data packets in the above data packets, the single-address data transmission abnormality rate in the data transmission process after the connection is established based on a single IPv6 address can be determined. If the single-address data transmission abnormality rate is larger, it indicates that the possibility of data transmission abnormality after the terminal establishes a connection with the first application server based on the first target IPv6 address is higher. Conversely, if the single-address data transmission abnormality rate is smaller, it indicates that the possibility of data transmission abnormality after the terminal establishes a connection with the first application server based on the first target IPv6 address is lower. Then, by combining the single-address connection abnormality rate within the first preset time length with the single-address data transmission abnormality rate within the first preset time length, the network quality when the terminal accesses the first application server based on the first target IPv6 address within a unit time length can be more accurately evaluated, so as to provide a basis for whether to switch the IPv6 address used when the first domain name needs to be accessed again.

[0019] Optionally, after determining that the network quality when accessing the first application server based on the first target IPv6 address is lower than the first set network quality level, the method further includes:

[0020] The target application is configured to disable the first target IPv6 address.

[0021] In an embodiment of the present specification, if the terminal determines that the network quality when the target application accesses the corresponding first application server based on the first target IPv6 address is poor, then the terminal can set the target application to disable the first target IPv6 address, thereby avoiding repeated access anomalies caused by repeatedly using the first target IPv6 address to access the first application server when the target application accesses the first domain name again.

[0022] Optionally, sending a second connection request to a second application server includes:

[0023] In response to the presence of the first target IPv6 address disabled by the target application in the plurality of second IPv6 addresses, filtering the first target IPv6 address disabled by the target application from the plurality of second IPv6 addresses, and determining the second target IPv6 address from the remaining second IPv6 addresses;

[0024] The second connection request is sent to the second application server based on the second target IPv6 address.

[0025] In the embodiments of the present specification, if the target application in the terminal accesses the first domain name again, and the multiple second IPv6 addresses requested and received from the domain name system server include the first target IPv6 address that has been used by the target application in history and has been disabled, then the first target IPv6 address can be directly filtered out from the multiple second IPv6 addresses, and then the second target IPv6 address can be determined from the remaining IPv6 addresses, thereby ensuring that the second target IPv6 address is different from the first target IPv6 address that has been disabled. On this basis, compared with repeatedly using the first target IPv6 address to connect to the corresponding first application server, connecting to the corresponding second application server based on the second target IPv6 address can improve the connection success rate and reduce the abnormal rate of data transmission after establishing the connection.

[0026] Optionally, after detecting a second operation on the target application, the method further includes:

[0027] In response to the second operation, a third connection request is sent to a third application server, the third connection request including a third target IPv6 address among the multiple first Pv6 addresses, the third target IPv6 address being different from the first target IPv6 address.

[0028] In an embodiment of the present specification, if the terminal determines that the network quality during access to the first application server based on the first target IPv6 address is poor, and detects that the target application accesses the first domain name again, then the terminal can directly determine other IPv6 addresses that are different from the first target IPv6 from multiple first IPv6 addresses, for example, the second target IPv6 address, to access the corresponding third application server, rather than continuing to access the corresponding first application server based on the first target IPv6, thereby avoiding repeated access anomalies caused by repeatedly using the first target IPv6 address to access the application server, thereby improving the success rate of the terminal accessing the application server based on the IPv6 address and the efficiency of accessing the application server, which is beneficial to improving the user's Internet experience.

[0029] Optionally, after setting the first target IPv6 address of the target application to a disabled state, the method further includes:

[0030] In response to satisfying a first preset condition, the target application's disabling state of the first target IPv6 address is released, wherein the first preset condition includes the target application disabling the first target IPv6 address for a disabling period reaching a second preset period, or an operator switching event is detected, or a network switching event is detected.

[0031] In an embodiment of the present specification, when the target application disables the first target Pv6 address for a second preset period of time, or detects that the operator of the user identity card used by the terminal has been switched, or detects that the network type used by the terminal has been changed, it can be considered that the network fluctuations that affect the network quality when the terminal accesses the first application server based on the first target IPv6 address have been eliminated. At this time, the target application can release the disabled state of the first target IPv6 address so that the first target IPv6 address can be used normally when the first domain name is accessed again in the future.

[0032] Optionally, the method further includes:

[0033] In response to determining that the network quality of the IPv6 network of the target application is lower than a second set network quality level, and detecting a third operation for the target application, the third operation instructs the target application to access a second domain name;

[0034] In response to the third operation, sending a third domain name resolution request to the domain name system server, where the third domain name resolution request is used to request a plurality of third IPv4 addresses corresponding to the second domain name;

[0035] A fourth connection request is sent to a fourth application server, where the fourth connection request includes the first target IPv4 address among the multiple third IPv4 addresses.

[0036] In an embodiment of the present specification, if the terminal determines that the overall network quality of the IPv6 network of the target application is poor, and detects that the target application needs to access the second domain name, the terminal can only request multiple IPv4 addresses corresponding to the first domain name from the domain name system server, for example, multiple third IPv4 addresses, and after receiving the multiple IPv4 addresses returned by the domain name system server, determine a certain IPv4 address from the multiple third IPv4 addresses, for example, the first target IPv4 address, to access the corresponding fourth application server, thereby avoiding repeated access anomalies caused by repeatedly using the IPv6 address to access the application server when the network quality of the IPv6 network of the target application is poor, thereby improving the success rate of the terminal in accessing the application server and the efficiency of accessing the application server, which is beneficial to improving the user's Internet experience.

[0037] Optionally, in response to determining that the network quality of the IPv6 network of the target application is lower than a second set network quality level, the method includes:

[0038] Determine a multi-address abnormal access rate according to the total number of accesses of the target application to the corresponding application server based on the multiple target IPv6 addresses within the third preset time period, and the total number of abnormal accesses of the target application to the corresponding application server based on the multiple target IPv6 addresses;

[0039] Determine a multi-address connection abnormality rate based on a total number of IPv6 sockets created when the target application accesses the corresponding application server based on the multiple target IPv6 addresses within the third preset time period, and a total number of IPv6 sockets that are not responded to by the corresponding application server in the IPv6 socket set;

[0040] Determining a second network abnormality rate according to the multi-address abnormal access rate and the multi-address connection abnormality rate;

[0041] In response to the second network abnormality rate being higher than a second set threshold, it is determined that the network quality of the IPv6 network of the target application is lower than the second set network quality level.

[0042] In the embodiments of the present specification, within the third preset time period, the target application may access other domain names in addition to the first domain name, that is, the target application may access the corresponding application server based on multiple IPv6 addresses within the third preset time period. Then, on the one hand, by counting the total number of accesses to the corresponding application server based on the IPv6 address in the above process, and the total number of abnormal accesses when accessing the corresponding application server based on the IPv6 address, the multi-address abnormal access rate when the target application in the terminal accesses the corresponding application server based on different IPv6 addresses can be determined. If the multi-address abnormal access rate is larger, it indicates that the overall network quality of the IPv6 network used by the target application in the terminal is more likely to be poor; conversely, if the multi-address abnormal access rate is smaller, it indicates that the overall network quality of the IPv6 network used by the target application in the terminal is less likely to be poor; on the other hand, the total number of IPv6 sockets created when the target application accesses the corresponding application server based on different IPv6 addresses, and the total number of IPv6 sockets created when the corresponding application server is accessed based on different IPv6 addresses that are not responded by the corresponding application server, can also be counted to determine the multi-address connection abnormality rate in the process of the target application in the terminal establishing a connection with the corresponding application server based on different IPv6 addresses. If the multi-address connection abnormality rate is larger, it indicates that the overall network quality of the IPv6 network used by the target application in the terminal is more likely to be poor; conversely, if the multi-address connection abnormality rate is smaller, it indicates that the overall network quality of the IPv6 network used by the target application in the terminal is less likely to be poor. Then, by combining the multi-address access exception rate within the third preset time period with the multi-address connection exception rate, the network quality of the target application in the terminal when accessing the corresponding application server based on the IPv6 network can be more accurately evaluated, so as to provide a basis for whether to switch to the IPv4 network when accessing any domain name.

[0043] Optionally, after determining that the target application accesses the corresponding application server based on the IPv6 network abnormally, the method further includes:

[0044] The target application is configured to disable all IPv6 addresses.

[0045] In an embodiment of the present specification, if the terminal determines that the overall network quality is poor when the target application accesses the corresponding application server based on different IPv6s, then the terminal can set the target application to disable all IPv6 addresses, thereby avoiding repeated access anomalies caused by repeatedly using the IPv6 address to access the corresponding application server when the target application accesses any domain name again.

[0046] Optionally, the target application is set to disable all IPv6 addresses, including:

[0047] In response to determining that the network quality of the IPv4 network of the target application is higher than a third set network quality level, the target application is set to disable all IPv6 addresses.

[0048] In the embodiment of the present specification, when the terminal determines that the network quality of the IPv6 network used by the target application is poor, it is necessary to further determine the network quality of the IPv4 network used by the target application. If the network quality of the IPv4 network used by the target application is good, the target application is set to disable all IPv6 addresses, thereby ensuring that the subsequent target application can access the corresponding application server based on the IPv4 network with a higher success rate and higher access efficiency.

[0049] Optionally, in response to the third operation, sending a third domain name resolution request to the domain name system server includes:

[0050] In response to the third operation, determining whether all IPv6 addresses of the target application are in a disabled state;

[0051] If yes, send the third domain name resolution request to the domain name system server.

[0052] In an embodiment of the present specification, when the terminal determines that the overall network quality of the IPv6 network of the target application is poor, and the overall network quality of the IPv4 network of the target application is good, if it is detected that the target application needs to access the second domain name, first, the terminal can determine whether all IPv6 addresses of the target application have been disabled. If so, the policy of giving priority to the use of the IPv6 network is changed to giving priority to the use of the IPv4 network with better network quality, that is, when performing domain name resolution to the domain name system server, only the IPv4 address corresponding to the second domain name is requested, thereby ensuring that the subsequent target application has a higher success rate and higher access efficiency when accessing the corresponding application server based on the IPv4 network, avoiding the waste of resources caused by requesting the IPv6 address corresponding to the second domain name when all IPv6 addresses of the target application are disabled.

[0053] Optionally, after detecting a third operation on the target application, the method further includes:

[0054] In response to the third operation, sending a fourth domain name resolution request to the domain name system server, wherein the fourth domain name resolution request is used to request a plurality of fourth IPv4 addresses and a plurality of fourth IPv6 addresses corresponding to the second domain name;

[0055] Receive the multiple fourth IPv4 addresses and the multiple fourth IPv6 addresses sent by the domain name system server, and send a fifth connection request to a fifth application server, where the fifth connection request includes the second target IPv4 address among the multiple fourth IPv4 addresses.

[0056] In an embodiment of the present specification, when the terminal determines that the overall network quality of the IPv6 network of the target application is poor, and the overall network quality of the IPv4 network of the target application is good, if it is detected that the target application needs to access the second domain name, it can simultaneously request multiple IPv4 addresses and multiple IPv6 addresses corresponding to the second domain name from the domain name system server, for example, multiple fourth IPv4 addresses and multiple fourth IPv6 addresses, and then preferentially select one IPv4 address from the above multiple fourth IPv4 addresses, for example, the second target IPv4 address, to access the corresponding fifth application server, so that when the network of the IPv6 network of the target application is poor, the IPv4 network with better network can be used to access the corresponding application server, avoiding repeated access anomalies caused by repeatedly using the IPv6 address to access the application server, thereby ensuring that the terminal has a higher success rate and higher access efficiency when accessing the application server, which is beneficial to improving the user's Internet experience.

[0057] Optionally, sending a fifth connection request to a fifth application server includes:

[0058] Determining whether all IPv6 addresses of the target application are in a disabled state;

[0059] If so, determining the second target IPv4 address from the plurality of fourth IPv4 addresses;

[0060] The fifth connection request is sent to the fifth application server based on the second target IPv4 address.

[0061] In the embodiment of the present specification, when the terminal simultaneously obtains multiple fourth IPv4 addresses and multiple fourth IPv6 addresses corresponding to the second domain name, the terminal can determine whether all IPv6 addresses of the target application are in a disabled state. If so, the second target IPv4 address is determined from the multiple fourth IPv4 addresses to access the corresponding fifth application server. That is to say, when the network of the IPv6 network of the target application is poor, by determining that all IPv6 addresses of the target application have been disabled, the strategy of giving priority to the use of the IPv6 network is changed to giving priority to the use of the IPv4 network with better network quality to access the corresponding application server, thereby avoiding repeated access anomalies caused by repeatedly accessing the application server based on the IPv6 network, thereby ensuring that the terminal has a higher success rate and a higher access efficiency when accessing the application server, which is beneficial to improving the user's Internet experience.

[0062] Optionally, determining that the network quality of the IPv4 network of the target application is higher than a third set network quality level includes:

[0063] Determine the multi-address data packet abnormality rate according to the number of data packets sent by the application server and the number of abnormal data packets in the data packets when the target application accesses the corresponding application server based on multiple target IPv4 addresses within the third preset time period;

[0064] Obtaining a third network abnormality rate within a unit time length according to the third preset time length and the multi-address data packet abnormality rate;

[0065] If the third network abnormality rate is less than a third set threshold, it is determined that the network quality of the IPv4 network of the target application is higher than the third set network quality level.

[0066] In the embodiment of the present specification, within the third preset duration, the target application may access the corresponding application server based on different IPv4 addresses, then the total number of data packets sent by the IPv4 application server received by the terminal in the above process and the total number of abnormal data packets in the received data packets can be counted, so that the multi-address data transmission abnormality rate can be determined. If the multi-address data transmission abnormality rate is larger, it indicates that the possibility that the overall network quality of the IPv4 network used by the target application is lower, and accordingly, the network abnormality rate within the unit time is larger; conversely, if the multi-address data transmission abnormality rate is smaller, it indicates that the overall network quality of the IPv4 network used by the target application is higher, and accordingly, the network abnormality rate within the unit time is smaller, so as to more accurately evaluate the overall network quality of the IPv4 network used by the target application within the third preset duration.

[0067] Optionally, after setting the target application to disable all IPv6 addresses, the method further includes:

[0068] In response to satisfying a second preset condition, the target application's disabling state of all IPv6 addresses is released, wherein the second preset condition includes the target application disabling all IPv6 addresses for a disabling period reaching a fourth preset period, or an operator switching event is detected, or a network switching event is detected.

[0069] In an embodiment of the present specification, when the target application disables all IPv6 addresses for a fourth preset period of time, or it is detected that the operator of the user identity card used by the terminal has been switched, or it is detected that the network type used by the terminal has been changed, it can be considered that the network fluctuations that affect the network quality when the terminal accesses the application server based on the IPv6 network have been eliminated. At this time, the target application can release the disabling status of all IPv6 addresses so that the IPv6 address can be used preferentially when accessing any domain name again in the future.

[0070] In a second aspect, an embodiment of the present specification provides an access device for an application server, the device comprising:

[0071] A detection unit, configured to detect a first operation on a target application, wherein the first operation instructs the target application to access a first domain name;

[0072] a sending unit, configured to send a first domain name resolution request to a domain name system server in response to the first operation, wherein the first domain name resolution request is used to request a plurality of first IPv4 addresses and a plurality of first IPv6 addresses corresponding to the first domain name;

[0073] a processing unit, configured to receive the plurality of first IPv4 addresses and the plurality of first IPv6 addresses sent by the domain name system server, and send a first connection request to a first application server, wherein the first connection request includes a first target IPv6 address among the plurality of first IPv6 addresses;

[0074] The processing unit is further configured to, in response to determining that the network quality when accessing the first application server based on the first target IPv6 address is lower than a first set network quality level and detecting a second operation for the target application, the second operation instructing the target application to access the first domain name again;

[0075] The sending unit is further configured to send a second domain name resolution request to the domain name system server in response to the second operation, wherein the second domain name resolution request is used to request a plurality of second Pv4 addresses and a plurality of second IPv6 addresses corresponding to the first domain name;

[0076] The processing unit is also used to receive the multiple second IPv4 addresses and the multiple second IPv6 addresses sent by the domain name system server, and send a second connection request to the second application server, the second connection request includes a second target IPv6 address among the multiple second IPv6 addresses, and the second target IPv6 address is different from the first target IPv6 address.

[0077] Optionally, the processing unit includes a first network quality assessment unit;

[0078] The first network quality assessment unit is specifically used for:

[0079] Determine a single-address connection abnormality rate according to the number of IPv6 sockets whose target address is the first application server and which are created within a first preset time period, and the number of the IPv6 sockets that are not responded to by the first application server;

[0080] Determine a single-address data transmission abnormality rate according to the number of data packets sent by the first application server and received within the first preset time period, and the number of abnormal data packets in the data packets;

[0081] Obtaining a first network abnormality rate within a unit time period according to the single-address connection abnormality rate, the single-address data transmission abnormality rate, and the first preset time period;

[0082] In response to the first network abnormality rate being higher than a first set threshold, it is determined that the network quality when accessing the first application server based on the first target IPv6 address is lower than the first set network quality level.

[0083] Optionally, the processing unit is further used to: set the target application to disable the first target IPv6 address.

[0084] Optionally, the processing unit includes: a filtering unit, a determining unit, and a first connection request sending unit;

[0085] The filtering unit is configured to filter out the first target IPv6 address disabled by the target application from the plurality of second IPv6 addresses in response to the presence of the first target IPv6 address disabled by the target application in the plurality of second IPv6 addresses;

[0086] The determining unit is used to determine the second target IPv6 address from the remaining second IPv6 addresses;

[0087] The connection request sending unit is used to send the second connection request to the second application server based on the second target IPv6 address.

[0088] Optionally, the sending unit is further used to send a third connection request to a third application server in response to the second operation, the third connection request including a third target IPv6 address among the multiple first Pv6 addresses, and the third target IPv6 address is different from the first target IPv6 address.

[0089] Optionally, the processing unit is further used to release the target application from disabling the first target IPv6 address in response to satisfying a first preset condition, wherein the first preset condition includes the target application disabling the first target IPv6 address for a second preset period of time, or an operator switching event is detected, or a network switching event is detected.

[0090] Optionally, the processing unit is further configured to, in response to determining that the network quality of the IPv6 network of the target application is lower than a second set network quality level and detecting a third operation for the target application, the third operation instructing the target application to access a second domain name;

[0091] The sending unit is further configured to send a third domain name resolution request to the domain name system server in response to the third operation, wherein the third domain name resolution request is used to request a plurality of third IPv4 addresses corresponding to the second domain name;

[0092] The sending unit is further configured to send a fourth connection request to a fourth application server, wherein the fourth connection request includes the first target IPv4 address among the multiple third IPv4 addresses.

[0093] Optionally, the processing unit includes a second network quality assessment unit;

[0094] The second network quality assessment unit is specifically used for:

[0095] Determine a multi-address abnormal access rate according to the total number of accesses of the target application to the corresponding application server based on the multiple target IPv6 addresses within the third preset time period, and the total number of abnormal accesses of the target application to the corresponding application server based on the multiple target IPv6 addresses;

[0096] Determine a multi-address connection abnormality rate based on a total number of IPv6 sockets created when the target application accesses the corresponding application server based on the multiple target IPv6 addresses within the third preset time period, and a total number of IPv6 sockets that are not responded to by the corresponding application server in the IPv6 socket set;

[0097] Determining a second network abnormality rate according to the multi-address abnormal access rate and the multi-address connection abnormality rate;

[0098] In response to the second network abnormality rate being higher than a second set threshold, it is determined that the network quality of the IPv6 network of the target application is lower than the second set network quality level.

[0099] Optionally, the processing unit is further used to set the target application to disable all IPv6 addresses.

[0100] Optionally, the processing unit includes: a third network quality assessment unit and a disabling unit;

[0101] The third network quality evaluation unit is used to determine that the network quality of the IPv4 network of the target application is higher than a third set network quality level;

[0102] The disabling unit is used to set the target application to disable all IPv6 addresses.

[0103] Optionally, the sending unit is further used to send a fourth domain name resolution request to the domain name system server in response to the third operation, where the fourth domain name resolution request is used to request multiple fourth IPv4 addresses and multiple fourth IPv6 addresses corresponding to the second domain name;

[0104] The processing unit is further configured to receive the plurality of fourth IPv4 addresses and the plurality of fourth IPv6 addresses sent by the domain name system server, and send a fifth connection request to a fifth application server, wherein the fifth connection request includes the second target IPv4 address among the plurality of fourth IPv4 addresses.

[0105] Optionally, the processing unit includes: a second connection request sending unit;

[0106] The second connection request sending unit is specifically configured to:

[0107] Determining whether all IPv6 addresses of the target application are in a disabled state;

[0108] If so, determining the second target IPv4 address from the plurality of fourth IPv4 addresses;

[0109] The fifth connection request is sent to the fifth application server based on the second target IPv4 address.

[0110] Optionally, the third network quality assessment unit is specifically used to:

[0111] Determine the multi-address data packet abnormality rate according to the number of data packets sent by the application server and the number of abnormal data packets in the data packets when the target application is based on the application servers corresponding to the multiple target IPv4 addresses within the third preset time period;

[0112] Obtaining a third network abnormality rate within a unit time length according to the third preset time length and the multi-address data packet abnormality rate;

[0113] If the third network abnormality rate is less than a third set threshold, it is determined that the network quality of the IPv4 network of the target application is higher than the third set network quality level.

[0114] Optionally, the processing unit is further used to release the target application from disabling status of all IPv6 addresses in response to satisfying a second preset condition, wherein the second preset condition includes the target application disabling all IPv6 addresses for a disabling period reaching a fourth preset period, or an operator switching event is detected, or a network switching event is detected.

[0115] In a third aspect, an embodiment of the present specification provides a chip module, the chip module comprising a memory for storing computer program instructions and a processor for executing program instructions, wherein when the computer program instructions are executed by the processor, the chip module is triggered to execute the steps of any one of the methods described in the first aspect.

[0116] In a fourth aspect, an embodiment of the present specification provides a terminal, comprising a memory for storing computer program instructions and a processor for executing program instructions, wherein when the computer program instructions are executed by the processor, the terminal is triggered to execute the steps of the method described in any embodiment of the first aspect.

[0117] In a fifth aspect, an embodiment of the present specification provides a computer-readable storage medium, wherein the computer-readable storage medium is used to store computer instructions, and when the computer is running, the computer executes the steps of the method described in any embodiment of the first aspect or the second aspect.

[0118] In a sixth aspect, an embodiment of the present specification provides a computer program product, wherein the computer program product includes computer instructions, and when the computer instructions are executed in a computer, the computer executes the steps of the method described in any embodiment of the first aspect or the second aspect.

[0119] It should be understood that the second to sixth aspects of the embodiments of the present invention are consistent with the technical solutions of the first aspect of the embodiments of the present invention, and the beneficial effects achieved by each aspect and the corresponding feasible implementation methods are similar and will not be described in detail.

Brief Description of the Drawings

[0120] In order to more clearly illustrate the technical solutions of the embodiments of this specification, the drawings required for use in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this specification. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0121] Figure 1 A schematic diagram of the architecture of a communication system provided in an embodiment of this specification;

[0122] Figure 2 A schematic diagram of the structure of a terminal provided in an embodiment of this specification;

[0123] Figure 3 A software structure diagram of a terminal provided in an embodiment of this specification;

[0124] Figure 4 A flowchart of a method for accessing an application server provided in an embodiment of this specification;

[0125] Figure 5 A schematic diagram of performing a first operation on a target application provided by the present illustrative embodiment;

[0126] Figure 6 A flowchart of a domain name resolution method provided in an embodiment of this specification;

[0127] Figure 7 A schematic diagram of a process of establishing a connection between a terminal and an application server provided in an embodiment of this specification;

[0128] Figure 8 A flowchart of a method for evaluating the network quality of a network where a first IPv6 address is located provided in an embodiment of this specification;

[0129] Fig. 9 A flowchart of a method for accessing an application server provided in an embodiment of this specification;

[0130] Fig.10 A flowchart of a method for accessing an application server provided in an embodiment of this specification;

[0131] Fig.11 A flowchart of a method for accessing an application server provided in an embodiment of this specification;

[0132] Fig.12 A flowchart of a method for connecting to a second application server based on a second target IPv6 address provided in an embodiment of this specification;

[0133] Fig.13A flowchart of a method for connecting to a third application server based on a third target IPv6 address provided in an embodiment of this specification;

[0134] Fig.14 A flowchart of a method for accessing an application server provided in an embodiment of this specification;

[0135] Fig.15 A flowchart of a method for accessing an application server provided in an embodiment of this specification;

[0136] Fig.16 A flowchart of a method for accessing an application server based on an IPv4 address provided in an embodiment of this specification;

[0137] Fig.17 A flowchart of a method for evaluating the network quality of an IPv6 network of a target application provided in an embodiment of the present application;

[0138] Fig.18 A flowchart of a method for accessing an application server based on an IPv4 address provided in an embodiment of the present application;

[0139] Fig.19 A flowchart of a method for accessing an application server based on an IPv4 address provided in an embodiment of this specification;

[0140] Fig. 20 A flowchart of a method for accessing an application server based on an IPv4 address provided in an embodiment of this specification;

[0141] Fig.21 A flowchart of a method for limiting the use of IPv6 addresses by a target application provided in an embodiment of this specification;

[0142] Fig. 22 A flowchart of a method for evaluating the network quality of a target application using an IPv4 network provided in an embodiment of this specification;

[0143] Fig.23 A flowchart of a method for sending a domain name resolution request provided in an embodiment of the present application;

[0144] Fig.24 A flowchart of a method for connecting to a fifth application server based on a second target IPv4 address provided in an embodiment of the present application;

[0145] Fig.25 A flowchart of a method for accessing an application server based on an IPv4 address provided in an embodiment of this specification;

[0146] Fig.26A flowchart of a method for accessing an application server based on an IPv4 address provided in an embodiment of this specification;

[0147] Fig. 27 A flowchart of the entire process of a target application accessing a corresponding application server based on a single address provided in an embodiment of this specification;

[0148] Fig.28 A flowchart of the whole process of a target application accessing a corresponding application server based on multiple addresses provided in an embodiment of this specification;

[0149] Fig.29 A schematic diagram of the structure of an access device for an application server provided in an embodiment of this specification;

[0150] Fig.30 A schematic diagram of the structure of a chip module provided in an embodiment of this specification. [Specific implementation method]

[0151] In order to better understand the technical solution of this specification, the embodiments of this specification are described in detail below with reference to the accompanying drawings.

[0152] It should be clear that the described embodiments are only part of the embodiments of this specification, not all of the embodiments. Based on the embodiments in this specification, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this specification.

[0153] The terms used in the embodiments of this specification are only for the purpose of describing specific embodiments, and are not intended to limit this specification. The singular forms "a", "said" and "the" used in the embodiments of this specification and the appended claims are also intended to include plural forms, unless the context clearly indicates other meanings.

[0154] Currently, as IPv4 addresses have been exhausted, service providers need to transition from deploying IPv4 to deploying IPv6 application servers. Therefore, service providers begin to deploy IPv6 application servers, or deploy dual-stack application servers. Dual-stack application servers support both IPv4 and IPv6 protocol stacks. In other words, during the transition from IPv4 to IPv6 application servers, there are both IPv4 and IPv6 application servers in the network. Most terminals support IPv4 and IPv6 dual-stack functions by default, that is, terminals can access application servers through both IPv4 and IPv6 addresses. Considering that deploying IPv6 is the future development direction of the network, terminals usually give priority to using IPv6 addresses to access application servers.

[0155] See also Figure 1 , is an architecture diagram of a communication system provided in an embodiment of this specification. Figure 1 As shown, the communication system includes one or more terminals 101, one or more Domain Name System (DNS) servers 102, and one or more application servers 103. The terminal 101 may be a smart phone, a tablet computer, a smart wearable device, a personal computer (PC), a personal digital assistant (PDA), virtual reality (VR), augmented reality (AR), a vehicle-mounted device, a smart speaker, a robot, etc., and there is no particular restriction on the device type of the terminal 101.

[0156] The application running on the terminal 101 can access the corresponding application server 103 through the domain name (Domain Name). First, the terminal 101 sends a domain name resolution request to the DNS server 102, and the domain name resolution request carries at least the resolved domain name, the request type, and the DNS server address, etc. The information carried in the domain name resolution request is not particularly limited here. Among them, the resolved domain name is used to represent a specific website or network service. For example, the resolved domain name can be www.example.com. The request type is mainly divided into two types. For example, when the request type includes an A record, it represents only querying the IPv4 address corresponding to the domain name; when the request type includes an A record and an AAAA record, it represents querying the IPv4 address and IPv6 address corresponding to the domain name. Generally, for the terminal 101 that supports both IPv4 and IPv6 dual stack functions, the request type in the domain name resolution request sent by it needs to include both A records and AAAA records. For the DNS server address, if the DNS server address is not provided, the default local DNS server is used. Then, after receiving the domain name resolution request, the DNS server 102 resolves the domain name according to the request type and obtains the IP address corresponding to the domain name. It is worth noting that when the request type in the domain name resolution request includes both A record and AAAA record, the IP address corresponding to the obtained domain name includes both IPv4 address and IPv6 address. If www.example.com indicates a large website, the obtained IP address may include multiple IPv4 addresses and multiple IPv6 addresses. Finally, the terminal 101 can preferentially use one of the above multiple IPv6 addresses to initiate a connection request to the corresponding application server 103. It should be understood that multiple IPv4 addresses resolved based on the same domain name may correspond to the same application server or different application servers. Similarly, multiple IPv6 addresses resolved based on the same domain name may correspond to the same application server or different application servers; multiple IPv4 addresses and multiple IPv6 addresses resolved based on the same domain name may correspond to the same application server (that is, the application server is a dual-stack server) or different application servers.

[0157] In the above scenario, when the terminal 101 preferentially accesses the corresponding application server 103 based on one of the multiple IPv6 addresses, the network quality between the terminal 101 and the corresponding application server 103 may be poor due to fluctuations in the network where the IPv6 address is located. In this case, the terminal 101 may not be able to receive a response from the application server 103, or the waiting time for receiving a response from the application server 103 may be long, resulting in a poor Internet experience for the user.

[0158] In view of this, an embodiment of the present specification provides an access method for an application server, in which, when a target application first accesses a domain name, it can request multiple IPv6 addresses corresponding to the domain name from a DNS server, and then determine a certain IPv6 address from the multiple IPv6 addresses corresponding to the domain name to access the corresponding application server. If the network quality when the terminal accesses the corresponding application server based on the IPv6 address is poor, and it is detected that the target application accesses the same domain name again, it can request multiple IPv6 addresses corresponding to the domain name from a DNS server again, and then select an IPv6 address that is different from the historical one from the multiple IPv6 addresses obtained again to access the corresponding application server, thereby avoiding repeated use of IPv6 addresses that have caused abnormal access in the past, resulting in repeated access abnormalities, thereby improving the success rate of the terminal accessing the application server based on the IPv6 address and the efficiency of accessing the application server, which is conducive to improving the user's Internet experience.

[0159] See also Figure 2 , is a schematic diagram of the structure of a terminal 101 provided in an embodiment of the present specification. The terminal 101 may include a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (USB) interface 130, a charging management module 140, a power management module 141, a battery 142, an antenna 1, an antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, an earphone interface 170D, a sensor module 180, a button 190, a motor 191, an indicator 192, a camera 193, a display screen 194, and a subscriber identification module (SIM) card interface 195, etc. The sensor module 180 may include a pressure sensor 180A, a gyroscope sensor 180B, an air pressure sensor 180C, a magnetic sensor 180D, an acceleration sensor 180E, a distance sensor 180F, a proximity light sensor 180G, a fingerprint sensor 180H, a temperature sensor 180J, a touch sensor 180K, an ambient light sensor 180L, a bone conduction sensor 180M, etc.

[0160] It is to be understood that the structure illustrated in the embodiment of the present invention does not constitute a specific limitation on the terminal 101. In other embodiments of the present application, the terminal 101 may include more or fewer components than shown in the figure, or combine some components, or split some components, or arrange the components differently. The components shown in the figure may be implemented in hardware, software, or a combination of software and hardware.

[0161] The processor 110 may include one or more processing units, for example, the processor 110 may include an application processor (AP), a modem processor, a graphics processor (GPU), an image signal processor (ISP), a controller, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural-network processing unit (NPU), etc. Different processing units may be independent devices or integrated into one or more processors.

[0162] The controller can generate operation control signals according to the instruction operation code and timing signal to complete the control of instruction fetching and execution.

[0163] The processor 110 may also be provided with a memory for storing instructions and data. In some embodiments, the memory in the processor 110 is a cache memory. The memory may store instructions or data that the processor 110 has just used or cyclically used. If the processor 110 needs to use the instruction or data again, it may be directly called from the memory. This avoids repeated access, reduces the waiting time of the processor 110, and thus improves the efficiency of the system.

[0164] In some embodiments, the processor 110 may include one or more interfaces. The interface may include an inter-integrated circuit (I2C) interface, an inter-integrated circuit sound (I2S) interface, a pulse code modulation (PCM) interface, a universal asynchronous receiver / transmitter (UART) interface, a mobile industry processor interface (MIPI), a general-purpose input / output (GPIO) interface, a subscriber identity module (SIM) interface, and / or a universal serial bus (USB) interface, etc.

[0165] The I2C interface is a bidirectional synchronous serial bus, including a serial data line (SDA) and a serial clock line (SCL). In some embodiments, the processor 110 may include multiple groups of I2C buses. The processor 110 may be coupled to the touch sensor 180K, the charger, the flash, the camera 193, etc. through different I2C bus interfaces. For example, the processor 110 may be coupled to the touch sensor 180K through the I2C interface, so that the processor 110 communicates with the touch sensor 180K through the I2C bus interface, thereby realizing the touch function of the terminal 101.

[0166] The I2S interface can be used for audio communication. In some embodiments, the processor 110 can include multiple I2S buses. The processor 110 can be coupled to the audio module 170 via the I2S bus to achieve communication between the processor 110 and the audio module 170. In some embodiments, the audio module 170 can transmit an audio signal to the wireless communication module 160 via the I2S interface to achieve the function of answering a call through a Bluetooth headset.

[0167] The PCM interface can also be used for audio communication, sampling, quantizing and encoding analog signals. In some embodiments, the audio module 170 and the wireless communication module 160 can be coupled via a PCM bus interface. In some embodiments, the audio module 170 can also transmit audio signals to the wireless communication module 160 via the PCM interface to realize the function of answering calls via a Bluetooth headset. Both the I2S interface and the PCM interface can be used for audio communication.

[0168] The UART interface is a universal serial data bus for asynchronous communication. The bus can be a bidirectional communication bus. It converts the data to be transmitted between serial communication and parallel communication. In some embodiments, the UART interface is generally used to connect the processor 110 and the wireless communication module 160. For example, the processor 110 communicates with the Bluetooth module in the wireless communication module 160 through the UART interface to implement the Bluetooth function. In some embodiments, the audio module 170 can transmit an audio signal to the wireless communication module 160 through the UART interface to implement the function of playing music through a Bluetooth headset.

[0169] The MIPI interface can be used to connect the processor 110 with peripheral devices such as the display screen 194 and the camera 193. The MIPI interface includes a camera serial interface (CSI), a display serial interface (DSI), etc. In some embodiments, the processor 110 and the camera 193 communicate via the CSI interface to implement the shooting function of the terminal 101. The processor 110 and the display screen 194 communicate via the DSI interface to implement the display function of the terminal 101.

[0170] The GPIO interface can be configured by software. The GPIO interface can be configured as a control signal or as a data signal. In some embodiments, the GPIO interface can be used to connect the processor 110 with the camera 193, the display 194, the wireless communication module 160, the audio module 170, the sensor module 180, etc. The GPIO interface can also be configured as an I2C interface, an I2S interface, a UART interface, a MIPI interface, etc.

[0171] The USB interface 130 is an interface that complies with the USB standard specification, and specifically can be a Mini USB interface, a Micro USB interface, a USB Type C interface, etc. The USB interface 130 can be used to connect a charger to charge the terminal 101, and can also be used to transmit data between the terminal 101 and peripheral devices. It can also be used to connect headphones to play audio through the headphones. The interface can also be used to connect other electronic devices, such as AR devices, etc.

[0172] It is understandable that the interface connection relationship between the modules illustrated in the embodiment of the present invention is only a schematic illustration and does not constitute a structural limitation on the terminal 101. In other embodiments of the present application, the terminal 101 may also adopt different interface connection methods in the above embodiments, or a combination of multiple interface connection methods.

[0173] The charging management module 140 is used to receive charging input from a charger. The charger may be a wireless charger or a wired charger. In some wired charging embodiments, the charging management module 140 may receive charging input from a wired charger through the USB interface 130. In some wireless charging embodiments, the charging management module 140 may receive wireless charging input through a wireless charging coil of the terminal 101. While the charging management module 140 is charging the battery 142, it may also power the terminal 101 through the power management module 141.

[0174] The power management module 141 is used to connect the battery 142, the charging management module 140 and the processor 110. The power management module 141 receives input from the battery 142 and / or the charging management module 140, and supplies power to the processor 110, the internal memory 121, the display screen 194, the camera 193, and the wireless communication module 160. The power management module 141 can also be used to monitor parameters such as battery capacity, battery cycle number, battery health status (leakage, impedance), etc. In some other embodiments, the power management module 141 can also be set in the processor 110. In other embodiments, the power management module 141 and the charging management module 140 can also be set in the same device.

[0175] The wireless communication function of the terminal 101 can be implemented through the antenna 1, the antenna 2, the mobile communication module 150, the wireless communication module 160, the modem processor and the baseband processor.

[0176] Antenna 1 and antenna 2 are used to transmit and receive electromagnetic wave signals. Each antenna in terminal 101 can be used to cover a single or multiple communication frequency bands. Different antennas can also be reused to improve the utilization of the antennas. For example, antenna 1 can be reused as a diversity antenna for a wireless local area network. In some other embodiments, the antenna can be used in combination with a tuning switch.

[0177] The mobile communication module 150 can provide solutions for wireless communications including 2G / 3G / 4G / 5G applied on the terminal 101. The mobile communication module 150 may include at least one filter, a switch, a power amplifier, a low noise amplifier (LNA), etc. The mobile communication module 150 can receive electromagnetic waves from the antenna 1, and filter, amplify, and process the received electromagnetic waves, and transmit them to the modulation and demodulation processor for demodulation. The mobile communication module 150 can also amplify the signal modulated by the modulation and demodulation processor, and convert it into electromagnetic waves for radiation through the antenna 1. In some embodiments, at least some of the functional modules of the mobile communication module 150 can be set in the processor 110. In some embodiments, at least some of the functional modules of the mobile communication module 150 can be set in the same device as at least some of the modules of the processor 110.

[0178] The modem processor may include a modulator and a demodulator. Among them, the modulator is used to modulate the low-frequency baseband signal to be sent into a medium-high frequency signal. The demodulator is used to demodulate the received electromagnetic wave signal into a low-frequency baseband signal. The demodulator then transmits the demodulated low-frequency baseband signal to the baseband processor for processing. After the low-frequency baseband signal is processed by the baseband processor, it is passed to the application processor. The application processor outputs a sound signal through an audio device (not limited to a speaker 170A, a receiver 170B, etc.), or displays an image or video through a display screen 194. In some embodiments, the modem processor may be an independent device. In other embodiments, the modem processor may be independent of the processor 110 and be set in the same device as the mobile communication module 150 or other functional modules.

[0179] In some embodiments, the terminal 101 can establish a communication connection with the operator's mobile communication network through the mobile communication module 150 and access the Internet through the mobile communication network. For example, the terminal 101 communicates with the DNS server 102 and the application server 103 through the mobile communication module 150.

[0180] The wireless communication module 160 can provide wireless communication solutions including wireless local area networks (WLAN) (such as wireless fidelity (Wi-Fi) networks), bluetooth (BT), global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), infrared (IR), etc., which are applied to the terminal 101. The wireless communication module 160 can be one or more devices integrating at least one communication processing module. The wireless communication module 160 receives electromagnetic waves via the antenna 2, modulates the frequency of the electromagnetic wave signal and performs filtering, and sends the processed signal to the processor 110. The wireless communication module 160 can also receive the signal to be sent from the processor 110, modulate the frequency of it, amplify it, and convert it into electromagnetic waves for radiation through the antenna 2.

[0181] In some embodiments, the terminal 101 can establish a communication connection with the Internet through the wireless communication module 160 to access the Internet. For example, the terminal 101 communicates with the DNS server 102 and the application server 103 through the wireless communication module 160.

[0182] In some embodiments, the antenna 1 of the terminal 101 is coupled to the mobile communication module 150, and the antenna 2 is coupled to the wireless communication module 160, so that the terminal 101 can communicate with the network and other devices through wireless communication technology. The wireless communication technology may include global system for mobile communications (GSM), general packet radio service (GPRS), code division multiple access (CDMA), wideband code division multiple access (WCDMA), time-division code division multiple access (TD-SCDMA), long term evolution (LTE), BT, GNSS, WLAN, NFC, FM, and / or IR technology. The GNSS may include a global positioning system (GPS), a global navigation satellite system (GLONASS), a Beidou navigation satellite system (BDS), a quasi-zenith satellite system (QZSS) and / or a satellite based augmentation system (SBAS).

[0183] The terminal 101 implements the display function through a GPU, a display screen 194, and an application processor. The GPU is a microprocessor for image processing, which connects the display screen 194 and the application processor. The GPU is used to perform mathematical and geometric calculations for graphics rendering. The processor 110 may include one or more GPUs that execute program instructions to generate or change display information.

[0184] The display screen 194 is used to display images, videos, etc. The display screen 194 includes a display panel. The display panel can be a liquid crystal display (LCD), an organic light-emitting diode (OLED), an active-matrix organic light-emitting diode or an active-matrix organic light-emitting diode (AMOLED), a flexible light-emitting diode (FLED), Miniled, MicroLed, Micro-oLed, a quantum dot light-emitting diode (QLED), etc. In some embodiments, the terminal 101 may include 1 or N display screens 194, where N is a positive integer greater than 1.

[0185] The terminal 101 can realize the shooting function through the ISP, the camera 193, the video codec, the GPU, the display screen 194 and the application processor.

[0186] ISP is used to process the data fed back by camera 193. For example, when taking a photo, the shutter is opened, and the light is transmitted to the camera photosensitive element through the lens. The light signal is converted into an electrical signal, and the camera photosensitive element transmits the electrical signal to ISP for processing and converts it into an image visible to the naked eye. ISP can also perform algorithm optimization on the noise, brightness, and skin color of the image. ISP can also optimize the exposure, color temperature and other parameters of the shooting scene. In some embodiments, ISP can be set in camera 193.

[0187] The camera 193 is used to capture still images or videos. The object generates an optical image through the lens and projects it onto the photosensitive element. The photosensitive element can be a charge coupled device (CCD) or a complementary metal-oxide-semiconductor (CMOS) phototransistor. The photosensitive element converts the optical signal into an electrical signal, and then passes the electrical signal to the ISP to be converted into a digital image signal. The ISP outputs the digital image signal to the DSP for processing. The DSP converts the digital image signal into an image signal in a standard RGB, YUV or other format. In some embodiments, the terminal 101 may include 1 or N cameras 193, where N is a positive integer greater than 1.

[0188] The digital signal processor is used to process digital signals, and can process not only digital image signals but also other digital signals. For example, when the terminal 101 is selecting a frequency point, the digital signal processor is used to perform Fourier transform on the frequency point energy.

[0189] Video codecs are used to compress or decompress digital videos. Terminal 101 may support one or more video codecs. Thus, terminal 101 may play or record videos in multiple coding formats, such as moving picture experts group (MPEG) 1, MPEG2, MPEG3, MPEG4, etc.

[0190] NPU is a neural network (NN) computing processor. By drawing on the structure of biological neural networks, such as the transmission mode between neurons in the human brain, it can quickly process input information and can also continuously self-learn. Through NPU, applications such as intelligent cognition of terminal 101 can be realized, such as image recognition, face recognition, voice recognition, text understanding, etc.

[0191] The external memory interface 120 can be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the terminal 101. The external memory card communicates with the processor 110 through the external memory interface 120 to implement a data storage function, such as storing music, video and other files in the external memory card.

[0192] The internal memory 121 can be used to store computer executable program codes, which include instructions. The internal memory 121 may include a program storage area and a data storage area. Among them, the program storage area may store an operating system, an application required for at least one function (such as a sound playback function, an image playback function, etc.), etc. The data storage area may store data created during the use of the terminal 101 (such as audio data, a phone book, etc.), etc. In addition, the internal memory 121 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, a universal flash storage (UFS), etc. The processor 110 executes various functional applications and data processing of the terminal 101 by running instructions stored in the internal memory 121 and / or instructions stored in a memory provided in the processor.

[0193] The terminal 101 can implement audio functions such as music playing and recording through the audio module 170, the speaker 170A, the receiver 170B, the microphone 170C, the earphone interface 170D, and the application processor.

[0194] The audio module 170 is used to convert digital audio information into analog audio signal output, and is also used to convert analog audio input into digital audio signals. The audio module 170 can also be used to encode and decode audio signals. In some embodiments, the audio module 170 can be arranged in the processor 110, or some functional modules of the audio module 170 can be arranged in the processor 110.

[0195] The speaker 170A, also called a "speaker", is used to convert an audio electrical signal into a sound signal. The terminal 101 can listen to music or listen to a hands-free call through the speaker 170A.

[0196] The receiver 170B, also called a "handset", is used to convert audio electrical signals into sound signals. When the terminal 101 receives a call or voice message, the voice can be received by placing the receiver 170B close to the ear.

[0197] Microphone 170C, also called "microphone" or "microphone", is used to convert sound signals into electrical signals. When making a call or sending a voice message, the user can speak by putting their mouth close to microphone 170C to input the sound signal into microphone 170C. Terminal 101 may be provided with at least one microphone 170C. In other embodiments, terminal 101 may be provided with two microphones 170C, which can not only collect sound signals but also realize noise reduction function. In other embodiments, terminal 101 may also be provided with three, four or more microphones 170C to realize collection of sound signals, noise reduction, identification of sound source, realization of directional recording function, etc.

[0198] The earphone interface 170D is used to connect a wired earphone and can be a USB interface 130 or a 3.5 mm open mobile terminal platform (OMTP) standard interface or a cellular telecommunications industry association of the USA (CTIA) standard interface.

[0199] The pressure sensor 180A is used to sense the pressure signal and can convert the pressure signal into an electrical signal. In some embodiments, the pressure sensor 180A can be set on the display screen 194. There are many types of pressure sensors 180A, such as resistive pressure sensors, inductive pressure sensors, capacitive pressure sensors, etc. The capacitive pressure sensor can be a parallel plate including at least two conductive materials. When a force acts on the pressure sensor 180A, the capacitance between the electrodes changes. The terminal 101 determines the intensity of the pressure according to the change in capacitance. When a touch operation acts on the display screen 194, the terminal 101 detects the touch operation intensity according to the pressure sensor 180A. The terminal 101 can also calculate the touch position according to the detection signal of the pressure sensor 180A. In some embodiments, touch operations acting on the same touch position but with different touch operation intensities can correspond to different operation instructions. For example: when a touch operation with a touch operation intensity less than the first pressure threshold acts on the short message application icon, an instruction to view the short message is executed. When a touch operation with a touch operation intensity greater than or equal to the first pressure threshold acts on the short message application icon, an instruction to create a new short message is executed.

[0200] The gyroscope sensor 180B can be used to determine the motion posture of the terminal 101. In some embodiments, the angular velocity of the terminal 101 around three axes (i.e., x, y, and z axes) can be determined by the gyroscope sensor 180B. The gyroscope sensor 180B can be used for anti-shake shooting. For example, when the shutter is pressed, the gyroscope sensor 180B detects the angle of the terminal 101 shaking, calculates the distance that the lens module needs to compensate based on the angle, and allows the lens to offset the shaking of the terminal 101 through reverse movement to achieve anti-shake. The gyroscope sensor 180B can also be used for navigation and somatosensory game scenes.

[0201] The air pressure sensor 180C is used to measure air pressure. In some embodiments, the terminal 101 calculates the altitude through the air pressure value measured by the air pressure sensor 180C to assist positioning and navigation.

[0202] The magnetic sensor 180D includes a Hall sensor. The terminal 101 can use the magnetic sensor 180D to detect the opening and closing of the flip leather case. In some embodiments, when the terminal 101 is a flip phone, the terminal 101 can detect the opening and closing of the flip cover according to the magnetic sensor 180D. Then, according to the detected opening and closing state of the leather case or the opening and closing state of the flip cover, the flip cover automatic unlocking and other features are set.

[0203] The acceleration sensor 180E can detect the magnitude of the acceleration of the terminal 101 in various directions (generally three axes). When the terminal 101 is stationary, the magnitude and direction of gravity can be detected. It can also be used to identify the posture of the terminal 101 and applied to applications such as horizontal and vertical screen switching and pedometers.

[0204] The distance sensor 180F is used to measure the distance. The terminal 101 can measure the distance by infrared or laser. In some embodiments, when shooting a scene, the terminal 101 can use the distance sensor 180F to measure the distance to achieve fast focusing.

[0205] The proximity light sensor 180G may include, for example, a light emitting diode (LED) and a light detector, such as a photodiode. The light emitting diode may be an infrared light emitting diode. The terminal 101 emits infrared light outward through the light emitting diode. The terminal 101 uses a photodiode to detect infrared reflected light from nearby objects. When sufficient reflected light is detected, it can be determined that there is an object near the terminal 101. When insufficient reflected light is detected, the terminal 101 can determine that there is no object near the terminal 101. The terminal 101 can use the proximity light sensor 180G to detect that the user holds the terminal 101 close to the ear to talk, so as to automatically turn off the screen to save power. The proximity light sensor 180G can also be used in leather case mode and pocket mode to automatically unlock and lock the screen.

[0206] The ambient light sensor 180L is used to sense the ambient light brightness. The terminal 101 can adaptively adjust the brightness of the display screen 194 according to the perceived ambient light brightness. The ambient light sensor 180L can also be used to automatically adjust the white balance when taking pictures. The ambient light sensor 180L can also cooperate with the proximity light sensor 180G to detect whether the terminal 101 is in a pocket to prevent accidental touches.

[0207] The fingerprint sensor 180H is used to collect fingerprints. The terminal 101 can use the collected fingerprint characteristics to implement fingerprint unlocking, access application locks, fingerprint photography, fingerprint answering calls, etc.

[0208] The temperature sensor 180J is used to detect temperature. In some embodiments, the terminal 101 uses the temperature detected by the temperature sensor 180J to execute a temperature processing strategy. For example, when the temperature reported by the temperature sensor 180J exceeds a threshold, the terminal 101 reduces the performance of the processor located near the temperature sensor 180J to reduce power consumption and implement thermal protection. In other embodiments, when the temperature is lower than another threshold, the terminal 101 heats the battery 142 to avoid abnormal shutdown of the terminal 101 due to low temperature. In other embodiments, when the temperature is lower than another threshold, the terminal 101 performs a boost on the output voltage of the battery 142 to avoid abnormal shutdown caused by low temperature.

[0209] The touch sensor 180K is also called a "touch control device". The touch sensor 180K can be set on the display screen 194, and the touch sensor 180K and the display screen 194 form a touch screen, also called a "touch control screen". The touch sensor 180K is used to detect touch operations acting on or near it. The touch sensor can pass the detected touch operation to the application processor to determine the type of touch event. Visual output related to the touch operation can be provided through the display screen 194. In other embodiments, the touch sensor 180K can also be set on the surface of the terminal 101, which is different from the position of the display screen 194.

[0210] The bone conduction sensor 180M can obtain a vibration signal. In some embodiments, the bone conduction sensor 180M can obtain a vibration signal of a vibrating bone block of the vocal part of the human body. The bone conduction sensor 180M can also contact the human pulse to receive a blood pressure beat signal. In some embodiments, the bone conduction sensor 180M can also be set in an earphone and combined into a bone conduction earphone. The audio module 170 can parse out a voice signal based on the vibration signal of the vibrating bone block of the vocal part obtained by the bone conduction sensor 180M to realize a voice function. The application processor can parse the heart rate information based on the blood pressure beat signal obtained by the bone conduction sensor 180M to realize a heart rate detection function.

[0211] The key 190 includes a power key, a volume key, etc. The key 190 may be a mechanical key or a touch key. The terminal 101 may receive key input and generate key signal input related to user settings and function control of the terminal 101.

[0212] Motor 191 can generate vibration prompts. Motor 191 can be used for incoming call vibration prompts, and can also be used for touch vibration feedback. For example, touch operations acting on different applications (such as taking pictures, audio playback, etc.) can correspond to different vibration feedback effects. For touch operations acting on different areas of the display screen 194, motor 191 can also correspond to different vibration feedback effects. Different application scenarios (for example: time reminders, receiving messages, alarm clocks, games, etc.) can also correspond to different vibration feedback effects. The touch vibration feedback effect can also support customization.

[0213] Indicator 192 may be an indicator light, which may be used to indicate charging status, power changes, messages, missed calls, notifications, etc.

[0214] The SIM card interface 195 is used to connect the SIM card. The SIM card can be connected to and separated from the terminal 101 by inserting it into the SIM card interface 195 or pulling it out from the SIM card interface 195. The terminal 101 can support 1 or N SIM card interfaces, where N is a positive integer greater than 1. The SIM card interface 195 can support Nano SIM cards, Micro SIM cards, SIM cards, etc. Multiple cards can be inserted into the same SIM card interface 195 at the same time. The types of the multiple cards can be the same or different. The SIM card interface 195 can also be compatible with different types of SIM cards. The SIM card interface 195 can also be compatible with external memory cards. The terminal 101 interacts with the network through the SIM card to realize functions such as calls and data communications. In some embodiments, the terminal 101 uses an eSIM, i.e., an embedded SIM card. The eSIM card can be embedded in the terminal 101 and cannot be separated from the terminal 101.

[0215] The software system of the terminal 101 may adopt a layered architecture, an event-driven architecture, a micro-kernel architecture, a micro-service architecture, or a cloud architecture. The embodiment of the present invention takes the Android system of the layered architecture as an example to exemplify the software structure of the terminal 101.

[0216] Figure 3 It is a software structure block diagram of the terminal 101 according to an embodiment of the present invention.

[0217] The layered architecture divides the software into several layers, each with clear roles and division of labor. The layers communicate with each other through software interfaces. In some embodiments, the Android system is divided into four layers, from top to bottom: the application layer, the application framework layer, the Android runtime and system library, and the kernel layer.

[0218] The application layer can include a series of application packages.

[0219] like Figure 3 As shown, the application package may include camera, gallery, calendar, call, map, navigation, WLAN, Bluetooth, music, video, short message, browser and other applications (only part of them are shown in the figure). Most of these applications need to access the Internet, such as navigation, browser, video, music and the like.

[0220] The application framework layer provides an application programming interface (API) and a programming framework for the applications in the application layer. The application framework layer includes some predefined functions.

[0221] like Figure 3As shown, the application framework layer may include a DNS protocol stack and a status notification module. The application in the application layer may send a domain name resolution request to the DNS server through the DNS protocol stack. The DNS protocol stack may cache domain names and IP addresses corresponding to domain names, including IPv4 addresses and IPv6 addresses.

[0222] In some embodiments, the status notification module may send the disabling information received from the kernel layer to the DNS protocol stack, which then maintains the disabling information, including but not limited to the DNS protocol stack maintaining a single IPv6 address or all IPv6 addresses disabled by a single application.

[0223] For example, the DNS protocol stack determines whether all IPv6 addresses of the application are disabled based on the domain name resolution request sent by the application. If not, the domain name resolution request sent to the DNS server includes both A records and AAAA records. After receiving multiple IPv4 addresses and multiple IPv6 addresses sent by the DNS server, the DNS protocol stack determines whether there are IPv6 addresses disabled by the same application among the multiple IPv6 addresses. If so, the disabled IPv6 address is filtered out from the multiple IPv6 addresses, and then an IPv6 address is selected from the remaining IPv6 addresses and sent to the application, that is, the DNS protocol stack sends an IPv6 address that is not disabled to the application, and then the application establishes a communication connection with the application server based on the non-disabled IPv6 address and communicates.

[0224] For another example, the DNS protocol stack sends a domain name resolution request to the DNS server based on the domain name resolution request sent by the application, and the domain name resolution request sent to the DNS server includes both A records and AAAA records. After receiving multiple IPv4 addresses and multiple IPv6 addresses sent by the DNS server, the DNS protocol stack determines whether all IPv6 addresses are disabled for the application. If so, an IPv4 address is selected from the multiple IPv4 addresses and sent to the application. Then the application establishes a communication connection with the application server based on the selected IPv4 address and communicates.

[0225] For another example, the DNS protocol stack determines whether all IPV6 addresses of the application are disabled based on the domain name resolution request sent by the application. If so, the domain name resolution request sent to the DNS server only includes the A record. After receiving multiple IPv4 addresses sent by the DNS server, the DNS protocol stack selects one IPv4 address from the multiple IPv4 addresses and sends it to the application. Then the application establishes a communication connection with the application server based on the selected IPv4 address and communicates.

[0226] For another example, when the DNS protocol stack determines that the disabling time of a single IPv6 address of a single application reaches a preset time, or determines that an operator switching event has occurred, or determines that a network switching time has occurred, it releases the disabling status of the single IPv6 address or all IPv6 addresses of the above single application.

[0227] The application framework layer may also include a window manager, content provider, view system, telephony manager, resource manager, notification manager, etc.

[0228] The window manager is used to manage window programs. The window manager can obtain the display screen size, determine whether there is a status bar, lock the screen, capture the screen, etc.

[0229] Content providers are used to store and retrieve data and make it accessible to applications. The data may include control panel data, video, images, audio, calls made and received, browsing history and bookmarks, phone books, etc.

[0230] The view system includes visual controls, such as controls for displaying text, controls for displaying images, etc. The view system can be used to build applications. The display interface can be composed of one or more views. For example, the display interface of a control panel can include a view for displaying text and a view for displaying images.

[0231] The phone manager is used to provide communication functions for the terminal 101, such as management of call status (including connection, disconnection, etc.).

[0232] The resource manager provides various resources for applications, such as localized strings, icons, images, layout files, video files, and so on.

[0233] The notification manager enables applications to display notification information in the status bar. It can be used to convey notification-type messages and can disappear automatically after a short stay without user interaction. For example, the notification manager is used to notify download completion, message reminders, etc. The notification manager can also be a notification that appears in the system top status bar in the form of a chart or scroll bar text, such as notifications of applications running in the background, or a notification that appears on the screen in the form of a dialog window. For example, a text message is displayed in the status bar, a prompt sound is emitted, an electronic device vibrates, an indicator light flashes, etc.

[0234] Android Runtime includes core libraries and virtual machines. Android runtime is responsible for scheduling and management of the Android system.

[0235] The core library consists of two parts: one part is the function that needs to be called by the Java language, and the other part is the Android core library.

[0236] The application layer and the application framework layer run in a virtual machine. The virtual machine executes the Java files of the application layer and the application framework layer as binary files. The virtual machine is used to perform functions such as object life cycle management, stack management, thread management, security and exception management, and garbage collection.

[0237] The system library may include multiple functional modules, such as surface manager, media library, 3D graphics processing library (such as OpenGL ES), 2D graphics engine (such as SGL), etc.

[0238] The surface manager is used to manage the display subsystem and provide the fusion of 2D and 3D layers for multiple applications.

[0239] The media library supports playback and recording of a variety of commonly used audio and video formats, as well as static image files, etc. The media library can support a variety of audio and video encoding formats, such as: MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, etc.

[0240] The 3D graphics processing library is used to implement 3D graphics drawing, image rendering, compositing, and layer processing.

[0241] A 2D graphics engine is a drawing engine for 2D drawings.

[0242] The kernel layer is the layer between hardware and software. The kernel layer contains at least display driver, camera driver, audio driver, and sensor driver.

[0243] In the embodiments of this specification, the kernel layer includes a TCP / IP protocol stack, which is used to encapsulate messages generated by upper layer applications and generate messages that comply with relevant network communication protocols (such as IPv4 protocol or IPv6 protocol) so as to be transmitted to corresponding servers through the network. Correspondingly, it is also used to parse messages sent by servers received from the network, generate messages that can be parsed by upper layer applications, and send them to upper layer applications for further processing.

[0244] The kernel layer also includes a network monitoring module for monitoring the network quality of the IPv4 network and the IPv6 network of the foreground application in the terminal, and determining whether a single IPv6 address or all IPv6 addresses of the foreground application need to be disabled.

[0245] The kernel layer also includes a Wi-Fi driver and a Modem driver. The Wi-Fi driver can be used to establish and disconnect the Wi-Fi link between the terminal 101 and the DNS server 102 or the application server 103, and use the Wi-Fi link to transmit messages. The Modem driver can be used to establish and disconnect the mobile communication link between the terminal 101 and the base station, and use the mobile communication link to communicate with the DNS server 102 or the application server 103 through the mobile communication network.

[0246] The following is an introduction to the technical solutions provided by the embodiments of this specification in conjunction with the accompanying drawings. The technical solutions involved in the following embodiments can be Figure 2 The hardware architecture shown in Figure 3 The software architecture shown is implemented in the terminal 101.

[0247] See also Figure 4 , is a flow chart of a method for accessing an application server provided in an embodiment of this specification. The flow chart is described as follows:

[0248] Step 201: A terminal detects a first operation on a target application, where the first operation instructs the target application to access a first domain name.

[0249] In the embodiments of this specification, the target application can be considered as an application that has an Internet access function and is running in the foreground, for example, the target application is a browser, a news application, or a video application, and no special restrictions are made here. When the user performs a first operation on the target application, the terminal can know that the user wants to access the first domain name through the target application. It should be understood that the above-mentioned first operation can be a single operation or a combination of multiple operations, and no special restrictions are made here.

[0250] See also Figure 5 , is a schematic diagram of implementing a first operation on a target application provided by this embodiment. Figure 5 As shown in (a), if the target application is a browser, when the terminal detects that the browser is started for the first time after booting, or detects that the browser running in the background is switched to the foreground, the terminal can display the main interface 301 of the browser. Then, the first operation performed by the user on the browser to access the first domain name may include: entering the URL corresponding to the first domain name in the address bar 302 in the main interface 301, or a keyword, and then selecting the "search" control 503. Alternatively, it may also be an operation in which the user clicks a text link 504 or a picture link 505 corresponding to the first domain name on the main interface 301 of the browser.

[0251] like Figure 5As shown in (b), if the target application is a news application, the first operation of the user to access the first domain name on the news application may include: starting the news application 507 on the terminal main interface 506. In some embodiments, Figure 5 As shown in (c), the news application can pre-load the content of the main interface 508, so the first operation of the user to access the first domain name performed on the news application can also include: the user selects the control 509 corresponding to a certain news, such as news 1, on the main interface 508 of the news application.

[0252] It should be understood that in the implementation of the above-mentioned first operation, when inputting relevant information and selecting a certain control, the user can manually input and click it, and of course the user can also input and select it by voice, and there is no special restriction here.

[0253] Step 202: In response to the first operation, the terminal sends a first domain name resolution request to a domain name system server, where the first domain name resolution request is used to request multiple first IPv4 addresses and multiple first IPv6 addresses corresponding to a first domain name.

[0254] In the embodiment of the present specification, after the target application in the terminal detects the first operation representing access to the first domain name, the target application can search for the IP address corresponding to the first domain name through the DNS protocol stack in the framework layer. If the IP address corresponding to the first domain name is cached in the DNS protocol stack, for example, both the IPv4 address corresponding to the first domain name and the IPv6 address corresponding to the first domain name are found, the IPv6 address is preferentially used to request connection to the corresponding application server.

[0255] If the DNS protocol stack in the framework layer of the target application fails to find the IP address corresponding to the first domain name, that is, neither the IPv4 address corresponding to the first domain name nor the IPv6 address corresponding to the first domain name is found, the terminal sends a first domain name resolution request to the DNS server through the DNS protocol stack, and the first domain name resolution request includes both an A record and an AAAA record to request the DNS server to return multiple IPv4 addresses and multiple IPv6 addresses. Of course, in another embodiment, no record may be specified in the first domain name resolution request, that is, the first domain name resolution request includes neither an A record nor an AAAA record to request the DNS server to return multiple IPv4 addresses and multiple IPv6 addresses.

[0256] Step 203: The DNS server responds to the first domain name resolution request, resolves the first domain name, and obtains multiple first IPv4 addresses and multiple first IPv6 addresses.

[0257] In the embodiment of the present specification, after receiving the first domain name resolution request, the DNS server will resolve the first domain name according to the resolved domain name carried in the first domain name resolution request and the type of network address to be resolved, thereby obtaining multiple first IPv4 addresses and multiple first IPv6 addresses corresponding to the first domain name. It should be understood that the specific number of IPv4 addresses and IPv6 addresses corresponding to the first domain name that can be resolved by the DNS server depends on the specific configuration adopted by the service provider of the target application, and this application does not make any special restrictions.

[0258] See also Figure 6 , is a flowchart of a domain name resolution method provided in an embodiment of this specification. Figure 6 As shown, taking the first domain name www.example.com as an example, its resolution process is explained.

[0259] Step 301: The DNS server sends a query request to the root domain name server, requesting the IP address of the top-level domain server of the .com domain.

[0260] It should be understood that the top-level domain names managed by the root domain name server include but are not limited to .com, .cn, .net, .org, .edu, .gov, etc.

[0261] Step 302: The root domain name server sends a response message to the DNS server. The response message carries the IP address of the top-level domain server of the .com domain.

[0262] Step 303: The DNS server sends a query request to the top-level domain name server of the .com domain based on the IP address of the top-level domain name server of the .com domain, requesting to query the IP address of the authoritative domain name server of the example.com domain.

[0263] Step 304: The top-level domain name server of the .com domain sends a response message to the DNS server. The response message carries the IP address of the authoritative domain name server of the example.com domain.

[0264] Step 305: The DNS server sends a query request to the authoritative domain name server of the example.com domain based on the IP address of the authoritative domain name server of the example.com domain, requesting to query the IP address of www.example.com.

[0265] Step 306: The authoritative domain name server of the example.com domain sends a response message to the DNS server. The response message carries the IP address corresponding to www.example.com. The network address includes multiple IPv4 addresses and multiple IPv6 addresses.

[0266] It should be understood that when the top-level domain name type to which the first domain name belongs is other types, the resolution process for the first domain name is similar and will not be repeated here.

[0267] Step 204: The DNS server sends a first domain name resolution response to the terminal, where the first domain name resolution response carries a plurality of first IPv4 addresses and a plurality of first IPv6 addresses corresponding to the first domain name.

[0268] In the embodiment of the present specification, after the DNS server obtains the domain name resolution result of the first domain name, that is, after obtaining multiple first IPv4 addresses and multiple first IPv6 addresses corresponding to the first domain name, on the one hand, it can save the domain name resolution result corresponding to the first domain name; on the other hand, it can send the domain name resolution result of the first domain name to the terminal so that the terminal can access the corresponding application server according to the domain name resolution result.

[0269] Step 205: The terminal sends a first connection request to the first application server, where the first connection request includes a first target IPv6 address among multiple first IPv6 addresses.

[0270] In the embodiments of the present specification, after obtaining multiple first IPv4 addresses and multiple first IPv6 addresses corresponding to the first domain name, the terminal can select a first target IPv6 address from the multiple first IPv6 addresses based on the principle of giving priority to the use of IPv6 addresses. For example, the first target IPv6 address can be the first IPv6 address among the multiple first IPv6 addresses, or the first target IPv6 address can be any IPv6 address randomly selected from the multiple first IPv6 addresses. Then, based on the first target IPv6 address, a first connection request is initiated to the corresponding first application server.

[0271] See also Figure 7 , is a flow chart of a process of establishing a connection between a terminal and an application server provided in an embodiment of this specification. Figure 7 As shown, the process of establishing a connection between the terminal and the first application service is described as follows:

[0272] Step 401: The terminal creates an IPv6 socket and binds the terminal IPv6 address and port number.

[0273] Step 402: The terminal sends an IPv6 message segment with a SYN flag to the first application server. The IPv6 message segment carries a source IPv6 address (terminal IPv6 address) and a source port number (terminal port number), as well as a target IPv6 address (i.e., the first target IPv6 address) and a target port number (first application server port number). The IPv6 message segment with a SYN flag is used to request the terminal to establish a connection with the first application server.

[0274] Step 403: The first application server creates a new IPv6 socket and binds the source IPv6 address (ie, the first target IPv6 address) and the source port number (the first application server port number).

[0275] Step 404: The first application server sends an IPv6 message segment carrying a SYN-ACK flag to the terminal. The IPv6 message segment carries a source IPv6 address (i.e., the first target IPv6 address) and a source port number (the first application server port number), as well as a target IPv6 address (the terminal IPv6 address) and a target port number (the terminal port number). The IPv6 message segment carrying the SYN-ACK flag is used to inform the terminal that the connection request has been successfully received.

[0276] Step 405: The terminal creates a new IPv6 socket and binds the source IPv6 address (terminal IPv6 address) and the source port number (terminal port number).

[0277] Step 406: The terminal sends an IPv6 message segment carrying an ACK mark to the first application server. The IPv6 message segment carries the source IPv6 address (terminal IPv6 address) and the source port number (terminal port number), as well as the target IPv6 address (i.e., the first target IPv6 address) and the target port number (first application server port number). The IPv6 message segment carrying the ACK mark is used to inform the first server that the terminal has received the IPv6 message segment carrying the SYN-ACK mark, and notifies the first application server that data transmission can be performed.

[0278] It should be understood that after the terminal establishes a connection with the first application server, they can use their respective sockets to transmit data.

[0279] Step 206: The terminal determines that the network quality when accessing the first application server based on the first target IPv6 address is lower than a first set network quality level.

[0280] In the embodiment of this specification, the network where the first IPv6 address is located may have network fluctuations, or the first application server may have congestion problems, so that the network quality when the terminal accesses the first application server based on the first target IPv6 address is poor. In the embodiment of this specification, the situation where the network is poor when the terminal accesses any application server is called access abnormality. For the terminal, it is manifested as: the terminal cannot get a response from the first application server for a long time, or the terminal has a long waiting time to get a response from the first application server.

[0281] The following describes in detail how the terminal determines the network quality between itself and the first application server.

[0282] See also Figure 8 , is a flowchart of a method for evaluating the network quality of a network where a first IPv6 address is located provided in an embodiment of this specification. Step 206 can be implemented by executing sub-steps 2061 to 2062:

[0283] Step 2061: Determine a single-address connection abnormality rate based on the number of IPv6 sockets with the first application server as the target address created within the first preset time period and the number of IPv6 sockets that are not responded by the first application server.

[0284] In the embodiment of this specification, the terminal creates an IPv6 socket with a target address of the first application server, which is used to establish a connection with the first application server. Then, the terminal can determine the single-address connection abnormality rate when establishing a connection based on the first IPv6 address by counting the number of IPv6 sockets with a target address of the first application server created during the first preset time, and the number of IPv6 sockets that are not responded to by the first application server among the created IPv6 sockets.

[0285] For example, the single-address connection anomaly rate when establishing a connection with the first target IPv6 address can be determined by calculating the ratio of the number of IPv6 sockets whose target address is the first application server created within the first preset time period that are not responded to by the first application server to the number of IPv6 sockets whose target address is the first application server created within the first preset time period. The calculation formula of the single-address connection anomaly rate is shown in formula (1):

[0286]

[0287] Among them, V6SockErr represents the single-address connection exception rate, V6SockNum represents the number of IPv6 sockets with the target address of the first application server created within the first preset time period, and V6SockErrNum represents the number of IPv6 sockets with the target address of the first application server created within the first preset time period that are not responded by the first application server.

[0288] It should be understood that the above embodiment evaluates the network quality between the terminal and the first application server from the perspective of establishing a connection. If the single address abnormality rate is larger, it indicates that the possibility of poor network quality when the terminal accesses the first application server based on the first target IPv6 address is greater; conversely, the smaller the single address abnormality rate is, the smaller the possibility of poor network quality when the terminal accesses the first application server based on the first target IPv6 address is less.

[0289] Step 2062: Determine a single-address data transmission abnormality rate according to the number of data packets sent by the first application server and received within the first preset time period, and the number of abnormal data packets in the data packets.

[0290] In the embodiment of this specification, after the terminal establishes a connection with the first application server, data transmission occurs between the terminal and the first application server, and the carrier of the data transmission is the data packet. The terminal can count the number of data packets sent by the first application server received within the first preset time length, and the number of abnormal data packets among the data packets sent by the first application server received within the first preset time length, and thus determine the single-address data transmission abnormality rate during the data transmission process after the connection is established based on the first target IPv6 address.

[0291] For example, the single-address data transmission abnormality rate in the data transmission process after the connection is established based on the first target IPv6 address can be determined by calculating the number of abnormal data packets in the data packets sent by the first application server received by the terminal within the first preset time length, and the number of data packets sent by the first application server received by the terminal within the first preset time length. The calculation formula of the single-address data transmission abnormality rate is shown in formula (2):

[0292]

[0293] Among them, V6SkbErr represents the single-address data transmission abnormality rate, V6SkbNum represents the number of data packets sent by the first application server received by the terminal within the first preset time length, and V6SkbErrNum represents the number of abnormal data packets in the data packets sent by the first application server received by the terminal within the first preset time length.

[0294] It should be understood that the above embodiment evaluates the network quality between the terminal and the first application server from the perspective of data transmission. If the single-address data transmission abnormality rate is larger, it indicates that the possibility of poor network quality when the terminal accesses the first application server based on the first target IPv6 address is greater; conversely, the smaller the single-address data transmission abnormality rate is, the smaller the possibility of poor network quality when the terminal accesses the first application server based on the first target IPv6 address is.

[0295] Step 2063: Obtain a first network abnormality rate within a unit time period according to the single-address connection abnormality rate, the single-address data transmission abnormality rate, and the first preset time period.

[0296] In an embodiment of the present specification, after respectively obtaining the single-address connection exception rate when the terminal connects to the first application server based on the first target IPv6 address within the first preset time length, and the single-address data transmission exception rate when the terminal transmits data with the first application server, the first network exception rate within a unit time length can be determined based on the single-address connection exception rate, the single-address data transmission exception rate and the first preset time length.

[0297] For example, the weighted sum of the single-address connection abnormality rate and the corresponding weight, and the single-address data transmission abnormality rate and the corresponding weight can be calculated, and then the ratio of the weighted sum to the first preset time length can be calculated to determine the first network abnormality rate within the unit time length. The calculation formula of the first network abnormality rate is shown in formula (3):

[0298] QualV6=(V6SockErr*W1+V6SkbErr*W2) / T1 (3)

[0299] Among them, QualV6 represents the first network abnormality rate, V6SockErr represents the single-address connection abnormality rate, W1 represents the weight corresponding to the single-address connection abnormality rate, V6SkbErr represents the single-address data transmission abnormality rate, W2 represents the weight corresponding to the single-address data transmission abnormality rate, and the sum of W1 and W2 is 1. In a possible embodiment, considering that compared with the data transmission process abnormality, the connection process abnormality has a greater impact on whether there is a network quality problem between the final terminal and the first application server, therefore, W1 can be set to be greater than W2. Of course, other settings can also be adopted according to actual conditions, and no special restrictions are made here.

[0300] Step 2064: In response to the first network abnormality rate being higher than the first set threshold, determining that the network quality when accessing the first application server based on the first target IPv6 address is lower than a first set network quality level.

[0301] In the embodiment of the present specification, if the first network anomaly rate between the terminal and the first application server determined based on the connection establishment process and the data transmission process is high, it can be more accurately determined that the network quality when the terminal accesses the first application server based on the first target IPv6 address is poor.

[0302] Step 207: The terminal detects a second operation on the target application, where the second operation instructs the target application to access the first domain name again.

[0303] In the embodiment of the present specification, when the terminal determines that the network quality is poor when accessing the first application server based on the first target IPv6 address, the terminal is unable to obtain a response from the first application server, or the waiting time to obtain the response from the first application server is long. At this time, the user may perform a second operation on the target application, so that the target application accesses the first domain name again. It should be understood that the second operation that triggers the target application to access the first domain name again and the first operation that triggers the target application to access the first domain name for the first time can be the same operation, which can refer to the relevant description in step 201, or it can be a different operation, for example, the second operation can be a refresh operation.

[0304] Step 208: In response to the second operation, the terminal sends a second domain name resolution request to the domain name system server, where the second domain name resolution request is used to request multiple second Pv4 addresses and multiple second IPv6 addresses corresponding to the first domain name.

[0305] In the embodiment of the present specification, after the target application in the terminal detects the second operation representing the re-access to the first domain name, the DNS protocol stack in the target application framework layer sends a second domain name resolution request to the DNS server, requesting the DNS server to return multiple second IPv4 addresses and multiple second IPv6 addresses corresponding to the first domain name. Please refer to the relevant description of step 202, which will not be repeated here.

[0306] Step 209: The DNS server responds to the second domain name resolution request, resolves the first domain name, and obtains multiple second IPv4 addresses and multiple second IPv6 addresses.

[0307] In the embodiment of this specification, the DNS server performs resolution of the first domain name, which can refer to the relevant description of step 203 and will not be repeated here. It is worth noting that the multiple second IPv4 addresses obtained by resolving the first domain name again here may be completely the same as the multiple first IPv4 addresses obtained when the first domain name is first resolved in step 203, or they may be partially the same. Similarly, the multiple second IPv6 addresses obtained by resolving the first domain name again here may be completely the same as the multiple first IPv6 addresses obtained when the first domain name is first resolved in step 203, or they may be partially the same.

[0308] Step 210: The DNS server sends a second domain name resolution response to the terminal, where the second domain name resolution response carries multiple second IPv4 addresses and multiple second IPv6 addresses corresponding to the first domain name.

[0309] In the embodiments of the present specification, after the DNS server obtains the domain name resolution result of the first domain name again, that is, after obtaining multiple second IPv4 addresses and multiple second IPv6 addresses corresponding to the first domain name, on the one hand, the domain name resolution result corresponding to the first domain name obtained again can be saved; on the other hand, the domain name resolution result of the first domain name obtained again can be sent to the terminal so that the terminal can access the corresponding application server according to the domain name resolution result.

[0310] Step 211: The terminal sends a second connection request to a second application server, where the second connection request includes a second target IPv6 address among multiple second IPv6 addresses.

[0311] In the embodiments of the present specification, after obtaining multiple second IPv4 addresses and multiple second IPv6 addresses corresponding to the first domain name, the terminal selects a certain IPv6 address from the multiple second IPv6 addresses, for example, the second target IPv6 address, based on the principle of giving priority to the use of IPv6 addresses, to initiate a connection request to the corresponding second application server. It is worth noting that, because the network quality is poor when accessing the first application server based on the first target IPv6 address in history, in order to avoid the problem of repeated access anomalies caused by repeated use of the first target IPv6 address, the second target IPv6 address is different from the first target IPv6 address, thereby improving the success rate of the terminal accessing the application server based on the IPv6 address and the efficiency of accessing the application server, which is conducive to improving the user's Internet experience.

[0312] It should be understood that the first application server corresponding to the first target IPv6 address and the second application server corresponding to the second target IPv6 address may be the same application server or different application servers, and no special limitation is made here.

[0313] In some embodiments, considering that the network quality of the terminal when accessing the first application server based on the first target IPv6 address is poor due to fluctuations in the network where the first target IPv6 address is located, but the networks where other IPv6 addresses among the multiple first IPv6 addresses are located may not fluctuate, therefore, in the embodiments of this specification, other IPv6 addresses except the first target IPv6 address can also be directly selected from the multiple first IPv6 addresses to access the corresponding application server.

[0314] See also Fig. 9 , is a flow chart of a method for accessing an application server provided in an embodiment of this specification. After step 207, step 212 may be further executed:

[0315] Step 212: In response to the second operation, the terminal sends a third connection request to the third application server, where the third connection request carries a third target IPv6 address among the multiple first target IPv6 addresses.

[0316] In the embodiment of the present specification, when the network quality of the terminal accessing the first application server based on the first IPv6 address is poor, and it is detected that the target application accesses the first domain name again, the terminal can select a third target IPv6 address that is different from the first target IPv6 address from the multiple first IPv6 addresses obtained when the first domain name is accessed and resolved for the first time, to access the corresponding third application server, thereby avoiding the repeated access abnormality caused by repeated use of the first target IPv6 address, thereby improving the success rate of the terminal accessing the application server based on the IPv6 address and the efficiency of accessing the application server, which is conducive to improving the user's Internet experience. It should be understood that the first application server corresponding to the first target IPv6 address and the third application server corresponding to the third target IPv6 address may be the same application server or different application servers, and no special restrictions are made here.

[0317] In some embodiments, when the network quality of the target application in the terminal accessing the first application server based on the first IPv6 address is poor, the target application may be further restricted from using the first target IPv6 address.

[0318] See also Fig.10 and Fig.11 , is a flow chart of a method for accessing an application server provided in this specification. After executing step 206, step 213 may be further executed:

[0319] Step 213: Set the target application to disable the first target IPv6 address.

[0320] In an embodiment of the present specification, if the terminal determines that the network quality when the target application accesses the corresponding first application server based on the first target IPv6 address is poor, then the terminal can set the target application to disable the first target IPv6 address, thereby avoiding repeated access anomalies caused by repeatedly using the first target IPv6 address to access the first application server when the target application accesses the first domain name again.

[0321] For example, the target application is set with a corresponding address blacklist, and the first target IPv6 address can be added to the address blacklist corresponding to the target application to achieve the effect of disabling the first target IPv6 address by the target application. Of course, there are other possible ways, which are not particularly limited here.

[0322] The following describes in detail the process of how the terminal connects to the corresponding application server based on other IPv6 addresses after the target application is set to disable the first target IPv6 address.

[0323] See also Fig.12 , is a flowchart of a method for connecting to a second application server based on a second target IPv6 address provided in an embodiment of this specification. Step 211 can be specifically implemented through sub-steps 2111 to 2112:

[0324] Step 2111: In response to the presence of a first target IPv6 address disabled by the target application in the multiple second IPv6 addresses, the first target IPv6 address disabled by the target application is filtered out from the multiple second IPv6 addresses, and the second target IPv6 address is determined from the remaining second IPv6 addresses.

[0325] In the embodiment of the present specification, after receiving multiple second IPv4 addresses and multiple second IPv6 addresses, the terminal will first determine whether there is a first target IPv6 address disabled by the target application among the multiple second IPv6 addresses based on the principle of giving priority to the use of IPv6 addresses. If not, the second target IPv6 address is directly determined from the multiple second IPv6 addresses. For example, the multiple second IPv6 addresses obtained are presented in a list, and the first second IPv6 address can be selected from the IPv6 address list containing multiple second IPv6 addresses as the second target IPv6 address, or a second IPv6 address is randomly selected from multiple second IPv6 addresses as the second target IPv6 address. If there is a first target IPv6 address disabled by the target application among the multiple second IPv6 addresses, the first target IPv6 address is filtered out from the multiple second IPv6 addresses, and then the second target IPv6 address is determined from the remaining second IPv6 addresses. Here, the method of determining the second target IPv6 address from the remaining second IPv6 addresses is similar to the above-mentioned method of directly determining the second target IPv6 address from the multiple second IPv6 addresses, and will not be repeated here.

[0326] Step 2112: Send a second connection request to the second application server based on the second target IPv6 address.

[0327] In the embodiment of the present specification, after determining a second target IPv6 address different from the first target IPv6 address from among multiple second IPv6 addresses, the corresponding second application server can be accessed based on the second target IPv6 address.

[0328] See also Fig.13, is a flow chart of a method for connecting to a third application server based on a third target IPv6 address provided in an embodiment of this specification. Step 212 can be implemented by executing sub-steps 2121 to 2122:

[0329] Step 2121: In response to the second operation, the first target IPv6 address disabled by the target application is filtered out from the plurality of first IPv6 addresses, and a third target IPv6 address is determined from the remaining first IPv6 addresses.

[0330] In the embodiment of the present specification, when the terminal determines that the target application needs to access the first domain name again, first, the terminal determines whether the first target IPv6 address is disabled by the target application, and if so, the first target IPv6 address is filtered out from the multiple first IPv6 addresses, and then the third target IPv6 address is determined from the remaining first IPv6 addresses. Here, the method of determining the third target IPv6 address from the remaining first IPv6 addresses is similar to the above-mentioned method of directly determining the second target IPv6 address from the multiple second IPv6 addresses, and will not be repeated here.

[0331] Step 2122: Send a third connection request to a third application server based on the third target IPv6 address.

[0332] In the embodiment of the present specification, after a third target IPv6 address different from the first target IPv6 address is determined from the multiple first IPv6 addresses, the corresponding third application server can be accessed based on the third target IPv6 address.

[0333] In some embodiments, when the target application in the terminal accesses the first application server based on the first target IPv6 address, the network quality is poor, which may be due to fluctuations in the network where the first target IPv6 address is located. Therefore, as long as the network returns to normal, the target application will no longer be restricted from using the first target IPv6 address.

[0334] See also Fig.14 and Fig.15 , is a flow chart of a method for accessing an application server provided in an embodiment of this specification. After step 213, step 214 may be further performed:

[0335] Step 214: In response to satisfying the first preset condition, releasing the target application from disabling the first target IPv6 address.

[0336] In the embodiments of the present specification, the network fluctuation of the network where the first target IPv6 address is located can be considered to be short-term, so the first preset condition can be: the target application disables the first target IPv6 address for a period of time that reaches a second preset period of time. After the second preset period of time, it can be considered that the short-term network fluctuation of the network where the first target IPv6 address is located has been eliminated, and the target application can now release the disabling of the first target IPv6 address. For example, 24 hours after the target application disables the first target IPv6 address, the target application releases the disabling state of the first target IPv6 address. It should be understood that the second preset period of time can be set according to the average duration of network fluctuations in actual applications, and no special restrictions are made here.

[0337] Second, the network fluctuation of the network where the first target IPv6 address is located may be caused by the use of a specific operator network. Therefore, the first preset condition can be: an operator switching event is detected. After the operator switching event is detected, it can be considered that the network fluctuation of the network where the first target IPv6 address is located has been eliminated, and the target application can be released from disabling the first target IPv6 address. For example, when using the first target IPv6 address to access the first application server, the terminal detects that the operator of the Subscriber Identity Module (SIM) used is China Telecom. At this time, it is considered that the short-term network fluctuation of the network where the first target IPv6 address is located is caused by the use of the China Telecom network. After the target application is set to disable the first target IPv6 address, if the terminal detects that the operator of the SIM card used is switched from China Telecom to China Mobile, it can be considered that the network fluctuation of the network where the first target IPv6 address is located has been eliminated, and the disabling state of the first target IPv6 address can be released.

[0338] Third, the network fluctuation of the network where the first target IPv6 address is located is caused by the use of a specific type of network. Therefore, the first preset condition can be: a network switching event is detected. After the network switching event is detected, it can be considered that the network fluctuation of the network where the first target IPv6 address is located has been eliminated, and the target application can be released from disabling the first target IPv6 address. For example, when using the first target IPv6 address to access the first application server, the terminal detects that the network type used is a cellular network. At this time, it is considered that the network fluctuation of the network where the first target IPv6 address is located is caused by the use of a cellular network. After the target application is set to disable the first target IPv6 address, if the terminal detects that the network type used is switched from a cellular network to a Wireless Fidelity (WIFI) network, it can be considered that the network fluctuation of the network where the first target IPv6 address is located has been eliminated, and the target application can be released from disabling the first target IPv6 address.

[0339] It should be understood that the above-mentioned lifting of the target application's disabling state of the first target IPv6 address may be to remove the first target IPv6 address from the address blacklist corresponding to the target application. Of course, there are other possible implementation methods, which are not particularly limited here.

[0340] Of course, the first preset condition for releasing the target application from the disabled state of the first target IPv6 address includes but is not limited to the above three conditions, and this application does not impose any special restrictions.

[0341] In some embodiments, the target application in the terminal may access other domain names in addition to the first domain name. If the target application often encounters poor network quality when accessing the corresponding application server based on different IPv6 addresses corresponding to different domain names, it indicates that the IPv6 network used by the target application may have poor overall network quality, and it can be switched to give priority to the IPv4 network.

[0342] See also Fig.16 , is a flow chart of a method for accessing an application server based on an IPv4 address provided in an embodiment of this specification. The method flow is described as follows:

[0343] Step 215: The terminal determines that the network quality of the IPv6 network of the target application is lower than the second set network quality level.

[0344] In the embodiment of the specification, the terminal can evaluate the overall network quality of the IPv6 network used by the target application based on the overall situation of the target application accessing different application servers based on different IPv6 addresses within a period of time. If it is determined that the overall network quality of the IPv6 network used by the target application is poor, in the subsequent process, the IPv6 address will no longer be used to access the corresponding application server, but the IPv4 address will be switched to access the corresponding application server.

[0345] The following describes how to evaluate the overall network quality of the IPv6 network used by the target application.

[0346] See also Fig.17 , is a flow chart of a method for evaluating the network quality of an IPv6 network of a target application provided in an embodiment of the present application. Step 215 can be implemented by executing sub-steps 2151 to 2154:

[0347] Step 2151: Determine the multi-address abnormal access rate based on the total number of target application visits to the corresponding application server based on multiple target IPv6 addresses within the third preset time period, and the total number of abnormal visits of the target application to the corresponding application server based on multiple target IPv6 addresses.

[0348] In the embodiments of the present specification, the target application in the terminal accesses the first application server based on the first target IPv6 address, which can be recorded as one visit. On this basis, when the network quality of accessing the first application server based on the first target IPv6 address is poor, the target application in the terminal accesses the second application server based on the second target IPv6 address, or the target application accesses the third application server based on the third target IPv6 address, which can also be recorded as one visit. Similarly, the terminal can count the total number of visits made by the target application to the corresponding application server based on different target IPv6 addresses within the third preset time period, and the total number of abnormal visits made by abnormally accessing the corresponding application server based on different target IPv6 addresses within the third preset time period, and then calculate the multi-address abnormal access rate based on the above total number of visits and the total number of abnormal visits.

[0349] For example, the multi-address abnormal access rate can be determined by calculating the ratio of the total number of abnormal accesses to the corresponding application server based on different target IPv6 addresses within the third preset time period to the total number of accesses to the corresponding application server based on different target IPv6 addresses within the third preset time period. The calculation formula of the multi-address abnormal access rate is shown in formula (4):

[0350]

[0351] Among them, V6AddrErr represents the multi-address abnormal access rate, V6AddrErrCnt represents the total number of abnormal accesses to the corresponding application server based on different target IPv6 addresses within the third preset time period, and V6AddrCnt represents the total number of accesses to the corresponding application server based on different target IPv6 addresses within the third preset time period.

[0352] It should be understood that in the above embodiment, if the multi-address abnormal access rate is larger, it indicates that the possibility that the overall network quality of the IPv6 network used by the target application in the terminal is poor is higher; conversely, if the multi-address abnormal access rate is smaller, it indicates that the possibility that the overall network quality of the IPv6 network used by the target application in the terminal is poor is lower.

[0353] Step 2152: Determine the multi-address connection exception rate based on the total number of IPv6 sockets created when the target application accesses the corresponding application server based on multiple target IPv6 addresses within the third preset time period, and the total number of IPv6 sockets that are not responded by the corresponding application server.

[0354] In an embodiment of the present specification, when a target application in a terminal accesses a first application server based on a first target IPv6 address, an IPv6 socket with a target address of the first application server needs to be created during the connection establishment phase. At this time, the number of IPv6 sockets created during this connection process and the number of IPv6 sockets that are not responded to by the first application server can be recorded; on this basis, when the network quality of accessing the first application server based on the first target IPv6 address is poor, when the target application in the terminal accesses a second application server based on a second target IPv6 address, an IPv6 socket with a target address of the second application server needs to be created during the connection establishment phase. At this time, the number of IPv6 sockets created during this connection process and the number of IPv6 sockets that are not responded to by the second application server can also be recorded. By analogy, the terminal can count the total number of IPv6 sockets created when the target application accesses the corresponding application server based on different IPv6 addresses within a third preset time period, and the total number of IPv6 sockets that are not responded to by the corresponding application server among the IPv6 sockets created when accessing the corresponding application server based on different IPv6 addresses. Then, based on the total number of IPv6 sockets created when the target application accesses the corresponding application server based on different IPv6 addresses within the third preset time period, and the total number of IPv6 sockets created when the corresponding application server is accessed based on different IPv6 addresses and not responded by the corresponding application server, the multi-address connection exception rate is determined.

[0355] For example, the multi-address connection abnormality rate can be determined by calculating the total number of IPv6 sockets that are not responded to by the corresponding application server among the IPv6 sockets created when accessing the corresponding application server based on different IPv6 addresses within the third preset time period, and the total number of IPv6 sockets created when accessing the corresponding application server based on different IPv6 addresses within the third preset time period. The calculation formula of the multi-address connection abnormality rate is shown in formula (5):

[0356]

[0357] Among them, V6SockErr * Indicates the abnormal rate of multi-address connection, V6SockErrNum * Indicates the total number of IPv6 sockets that are not responded by the corresponding application server among the IPv6 sockets created when accessing the corresponding application server based on different IPv6 addresses within the third preset time period, V6SockNum * It represents the total number of IPv6 sockets created when accessing the corresponding application server based on different IPv6 addresses within the third preset time period.

[0358] In the above embodiment, if the multi-address connection abnormality rate is larger, it indicates that the possibility that the overall network quality of the IPv6 network used by the target application in the terminal is poor is higher; conversely, if the multi-address connection abnormality rate is smaller, it indicates that the possibility that the overall network quality of the IPv6 network used by the target application in the terminal is poor is lower.

[0359] Step 2153: Determine the second network abnormality rate according to the multi-address abnormal access rate and the multi-address connection abnormality rate.

[0360] In the present description of the embodiment, within the third preset time period, when the target application accesses different domain names, it may access some domain names more often and some domain names less often. For domain names with more access times, if the proportion of successful access is high; and for domain names with fewer access times, if the proportion of abnormal access is high, in the above-mentioned more extreme scenarios, since the proportion of abnormal access of domain names with fewer access times is high, the multi-address abnormal access rate will be increased. However, since the above-mentioned domain names have fewer access times, even if the access is abnormal, the number of IPv6 sockets that are not responded to by the application server is also small. Therefore, in the above-mentioned scenarios, the multi-address connection abnormality rate will be low. Therefore, the multi-address abnormal access rate is combined with the multi-address connection abnormality rate. For example, the average value of the multi-address abnormal access rate and the multi-address connection abnormality rate is calculated to obtain the second network abnormality rate, so that the network quality of the target application in the above-mentioned scenarios can be more reasonably evaluated. The calculation formula of the second network abnormality rate is shown in formula (6):

[0361] AppQualV6=AVG(V6AddrErr+V6SockErr * ) (6)

[0362] Among them, AppQualV6 represents the second network abnormality rate, V6AddrEr represents the multi-address abnormal access rate, V6SockErr* represents the multi-address connection abnormality rate, and AVG represents the calculated average value.

[0363] It should be understood that the above calculation method can more accurately evaluate the network quality of the IPv6 network used by the target application in the above-mentioned more extreme scenarios, and can also be more applicable in other scenarios.

[0364] Step 2154: In response to the second network abnormality rate being higher than the second set threshold, determining that the network quality of the target application's IPv6 network is lower than the second set network quality level.

[0365] In the embodiment of this specification, if it is determined from the perspective of overall access and connection establishment that the target application has a high network anomaly rate when using the IPv6 network, it is more accurately judged that the network quality of the IPv6 network used by the target application in the terminal is poor.

[0366] For example, within the third preset time, the target application accessed three domain names, namely domain name 1, domain name 2 and domain name 3, of which domain name 1 was accessed 30 times (28 successful times and 2 abnormal times), the total IPv6 sockets sent during the access to domain name 1 were 90, and the number of sockets that were not responded to was 6, domain name 2 and domain name 3 were accessed 5 times each, and both were abnormal, the total IPv6 sockets sent during the access to domain name 2 and domain name 3 were 30, and the total number of sockets that were not responded to was 10, then the multi-address abnormal access rate was 0.3, and the multi-address connection abnormal rate was 0.13. If the average of the multi-address abnormal access rate and the multi-address connection abnormal rate is taken, the second network abnormal rate can be obtained to be 0.215. If the second set threshold is 0.25, if only the multi-address anomaly rate is compared with the second set threshold, the multi-address anomaly rate is 0.3, which is greater than the second set threshold. At this time, the target application will be judged that the overall network quality of the IPv6 network used is poor, so the IPv4 network will be used preferentially in the future. However, in fact, among the domain names accessed by the target application based on the IPv6 network, domain name 1 with the most visits has a higher access success rate, that is, it can be considered that the network quality is better when accessing domain name 1 based on the IPv6 network. The multi-address anomaly rate is greater than the second set threshold, mainly because the access failure rate of domain names with fewer visits (domain name 2 and domain name 3) is higher. Therefore, when the success rate of accessing domain name 1 based on the IPv6 network is higher, while the failure rate of accessing domain name 2 and domain name 3 is higher, and the number of visits to domain name 1 is much greater than the number of visits to domain name 2 and domain name 3, it is obviously unreasonable to prohibit the use of IPv6 network when accessing domain name 1 in the future. Therefore, after combining the multi-address anomaly rate with the multi-address connection anomaly rate, the second network anomaly obtained is only 0.215, which is less than the second set threshold. This means that when accessing any domain name in the future, it is still prioritized based on the IPv6 network, including the domain name 1 with the highest number of visits in history.

[0367] Step 216: The terminal detects a third operation on the target application, where the third operation instructs the target application to access the second domain name.

[0368] In the embodiment of this specification, when the terminal determines that the overall quality of the IPv6 network used by the target application is poor, the terminal often fails to obtain a response from the corresponding application server when accessing any domain name in the past, or the waiting time for obtaining the response from the corresponding application server is long. At this time, if the user performs a third operation on the target application to access the second domain name, then the IP address policy used by the target application needs to be adjusted. It should be understood that the second domain name here can be a domain name that has not been visited in history, or a domain name that has been visited in history, and there is no special restriction here.

[0369] Step 217: In response to the third operation, the terminal sends a third domain name resolution request to the domain name system server, where the third domain name resolution request is used to request multiple third IPv4 addresses corresponding to the second domain name.

[0370] In an embodiment of the present specification, after the target application in the terminal detects a third operation representing access to a second domain name, the DNS protocol stack in the target application framework layer sends a third domain name resolution request to the DNS server. Since the overall network quality of the IPv6 network used by the target application is poor, the third domain name resolution request is only used to request multiple third IPv4 addresses corresponding to the second domain name.

[0371] Step 218: The DNS server responds to the third domain name resolution request, resolves the second domain name, and obtains multiple third IPv4 addresses.

[0372] In this specification, the resolution process of the third domain name by the DNS server can refer to the relevant description of the resolution of the first domain name by the DNS server in step 203, which will not be repeated here.

[0373] Step 219: The DNS server sends a domain name resolution response to the terminal, where the domain name resolution response carries multiple third IPv4 addresses corresponding to the third domain name.

[0374] In the embodiments of the present specification, after the DNS server obtains the domain name resolution result of the second domain name, that is, after obtaining multiple third IPv4 addresses corresponding to the third domain name, on the one hand, it can save the domain name resolution result corresponding to the second domain name; on the other hand, it can send the domain name resolution result corresponding to the second domain name to the terminal, so that the target application in the terminal can access the corresponding application server according to the domain name resolution result.

[0375] Step 220: The terminal sends a fourth connection request to a fourth application server, where the fourth connection request includes the first target IPv4 address among the multiple third IPv4 addresses.

[0376] In the embodiment of the present specification, after the terminal obtains the plurality of third IPv4 addresses corresponding to the second domain name, the terminal can select the first target IPv4 address from the plurality of third IPv4 addresses. For example, if the plurality of third IPv4 addresses are presented in the form of an IPv4 address list, the first IPv4 address in the IPv4 address list can be used as the first target IPv4 address, or an IPv4 address can be randomly selected from the IPv4 address list as the first target IPv4 address. Here, there is no special restriction on how to determine the first target IPv4 address from the plurality of third IPv4 addresses. After the terminal selects the first target IPv4 address, the target application can initiate a connection request to the corresponding fourth application server based on the first target IPv4 address, thereby avoiding the repeated access abnormality caused by repeatedly using the IPv6 address to access the application server when the IPv6 network of the target application is poor, thereby improving the success rate of the terminal accessing the application server and the efficiency of accessing the application server, which is conducive to improving the user's Internet experience. It should be understood that if the second domain name is the same as the first domain name, the fourth application server may be the same server as the first application server, or it may be different from the first application server, and there is no special restriction here.

[0377] In some embodiments, after detecting the third operation representing access to the second domain name, the terminal can still request the IPv4 address and IPv6 address corresponding to the second domain name from the DNS server at the same time, and then, in the connection initiation stage, give priority to selecting the IPv4 address corresponding to the second domain name to initiate a connection to the application server. In this way, when the IPv6 network of the target application is poor, repeated access anomalies caused by repeatedly using the IPv6 address to access the application server can be avoided, thereby ensuring that the terminal has a higher success rate and higher access efficiency when accessing the application server, which is beneficial to improving the user's Internet experience.

[0378] See also Fig.18 , which is a flow chart of a method for accessing an application server based on an IPv4 address provided in an embodiment of the present application. After executing step 216, steps 221 to 224 may be continued:

[0379] Step 221: In response to the third operation, a fourth domain name resolution request is sent to the DNS server, where the fourth domain name resolution request is used to request multiple fourth IPv4 addresses and multiple fourth IPv6 addresses corresponding to the second domain name.

[0380] In an embodiment of the present specification, after the target application in the terminal detects the third operation representing access to the second domain name, the DNS protocol stack in the target application framework layer sends a fourth domain name resolution request to the DNS server. Although the network quality of the IPv6 network used by the target application is generally poor, the fourth domain name resolution request is still used to request multiple fourth IPv4 addresses and multiple fourth IPv6 addresses corresponding to the second domain name.

[0381] Step 222: The DNS server responds to the fourth domain name resolution request, resolves the second domain name, and obtains multiple fourth IPv4 addresses and multiple fourth IPv6 addresses.

[0382] In this specification, the resolution process of the third domain name by the DNS server can refer to the relevant description of the resolution of the first domain name by the DNS server in step 203, which will not be repeated here.

[0383] Step 223: The DNS server sends a domain name resolution response to the terminal, where the domain name resolution response carries multiple fourth IPv4 addresses and multiple fourth IPv6 addresses.

[0384] In the embodiments of the present specification, after the DNS server obtains the domain name resolution result of the second domain name, that is, after obtaining multiple third IPv4 addresses corresponding to the second domain name, on the one hand, it can save the domain name resolution result corresponding to the second domain name; on the other hand, it can send the domain name resolution result corresponding to the second domain name to the terminal, so that the target application in the terminal can access the corresponding application server according to the domain name resolution result.

[0385] Step 224: The terminal sends a fifth connection request to the fifth application server, where the fifth connection request includes the second target IPv4 address among the multiple fourth IPv4 addresses.

[0386] In the embodiment of the present specification, after obtaining the plurality of fourth IPv4 addresses and the plurality of fourth IPv6 addresses corresponding to the second domain name, the terminal selects the second target IPv4 address from the plurality of fourth IPv4 addresses using the principle of giving priority to the use of IPv4 addresses. For example, if the plurality of fourth IPv4 addresses are presented in the form of an IPv4 address list, then the first IPv4 address in the IPv4 address list can be used as the second target IPv4 address, or an IPv4 address can be randomly selected from the IPv4 address list as the second target IPv4 address. Here, there is no special restriction on how to determine the second target IPv4 address from the plurality of fourth IPv4 addresses. After the terminal selects the second target IPv4 address, the target application can initiate a connection request to the corresponding fifth application server based on the second target IPv4 address, thereby avoiding the repeated access anomalies caused by repeatedly using the IPv6 address to access the application server when the IPv6 network of the target application is poor, thereby improving the success rate of the terminal accessing the application server and the efficiency of accessing the application server, which is conducive to improving the user's Internet experience. It should be understood that if the second domain name is the same as the first domain name, the fifth application server may be the same server as the first application server, or may be different from the first application server, and no special restrictions are made here. At the same time, the fifth application server and the fourth application server may be the same application server, or may be different application servers.

[0387] In some embodiments, when it is determined that the overall network quality of the IPv6 network used by the target application in the terminal is poor, the IPv6 network used by the target application may be further restricted.

[0388] See also Fig.19 and Fig. 20 , is a flow chart of a method for accessing an application server based on an IPv4 address provided in an embodiment of this specification. After executing step 215, step 225 may be further executed:

[0389] Step 225: Set the target application to disable all IPv6 addresses.

[0390] In an embodiment of the present specification, if the terminal determines that the network quality is poor when the target application accesses the corresponding application server based on multiple target IPv6 addresses, the terminal can set the target application to disable all IPv6 addresses, thereby avoiding repeated access anomalies caused by repeatedly using IPv6 addresses to access the corresponding application server when the target application accesses any domain name again.

[0391] For example, a terminal is set with an application blacklist that disables all IPv6 addresses. When the target application is added to the application blacklist, the target application can be disabled for all IPv6 addresses.

[0392] Furthermore, in the above embodiment, only the network quality of the IPv6 network used by the target application is evaluated. When the network quality of the IPv6 network used by the target application is poor, the network quality of the IPv4 network used by the target application may not be good. Therefore, when the target application is set to disable all IPv6 addresses, it is necessary to combine the network quality of the IPv4 network used by the target application to determine whether all IPv6 addresses of the target application can be disabled.

[0393] See also Fig.21 , which is a flowchart of a method for limiting the use of IPv6 addresses by a target application provided in an embodiment of this specification. Step 225 can be implemented specifically through sub-steps 2251 to 2252:

[0394] Step 2251: Determine that the network quality of the IPv4 network used by the target application is higher than a third set network quality level.

[0395] In the embodiment of the present specification, among the multiple domain names accessed by the target application within the third preset duration, only some of the domain names may have multiple IPv4 addresses and multiple IPv6 addresses at the same time. For these domain names, the principle of giving priority to IPv6 addresses applies when accessing; and the remaining domain names may only have multiple IPv4 addresses. For these domain names, the principle of giving priority to IPv6 addresses does not apply when accessing, but only IPv4 addresses can be used. Therefore, the terminal can evaluate the network quality of the IPv4 network used by the target application within the third preset duration.

[0396] See also Fig. 22 , is a flowchart of a method for evaluating the network quality of a target application using an IPv4 network provided in an embodiment of this specification. Step 2251 can be implemented by executing sub-steps 22511 to 22513:

[0397] Step 22511: Determine the multi-address data packet abnormality rate based on the total number of data packets sent by the application server and the total number of abnormal data packets in the data packets when the target application accesses the corresponding application server based on multiple target IPv4 addresses within the third preset time period.

[0398] In the embodiment of this specification, during the process of the target application in the terminal accessing the corresponding application server based on different target IPv4 addresses, there is data transmission, and the carrier of the data transmission is the data packet. Therefore, the terminal can count the total number of data packets sent by the application server corresponding to the target IPv4 address received within the third preset time length, and the total number of abnormal data packets sent by the application server corresponding to the target IPv4 address received within the third preset time length, and then determine the multi-address data transmission abnormality rate during the data transmission process after the target application establishes a connection with the corresponding application server based on different target IPv4 addresses.

[0399] For example, the multi-address data transmission abnormality rate can be determined by calculating the total number of abnormal data packets sent by the application server when the target application accesses the corresponding application server based on different target IPv4 addresses within the third preset time period, and the total number of data packets sent by the application server when the target application accesses the corresponding application server based on different target IPv4 addresses within the third preset time period. The calculation formula of the multi-address data transmission abnormality rate is shown in formula (7):

[0400]

[0401] Among them, V4SkbErr * Indicates the abnormal rate of multi-address data transmission, V4SkbNum * Indicates the total number of data packets sent by the application server when the target application in the terminal accesses the corresponding application server based on different target IPv4 addresses within the third preset time period, V4SkbErrNum * It indicates the total number of abnormal data packets sent by the application server and received when the target application in the terminal accesses the corresponding application server based on different target IPv4 addresses within the third preset time period.

[0402] Step 22512: Obtain a third network abnormality rate within a unit time length according to the third preset time length and the multi-address data transmission abnormality rate.

[0403] In an embodiment of the present specification, after calculating the multi-address data transmission exception rate when the target application uses different target IPv4 addresses to access the corresponding application server within the third preset time period, the third network exception rate within the unit time period is determined based on the third preset time period and the multi-address data transmission exception rate.

[0404] For example, the ratio of the multi-address data transmission abnormality rate to the third preset time length can be calculated to determine the third network abnormality rate. The calculation formula of the third network abnormality rate is shown in formula (8):

[0405] AppQualV4=V6SkbErr* / T2 (8)

[0406] Among them, AppQualV4 represents the third network abnormality rate, V6SkbErr * represents the abnormal rate of multi-address data transmission, and T2 represents the third preset time length.

[0407] Step 22513: If the third network abnormality rate is less than the third set threshold, determine that the network quality of the IPv4 network of the target application is higher than the third set network quality level.

[0408] In the embodiments of this specification, from the perspective of data transmission, if it is determined that the network anomaly rate of the target application when using the IPv4 network is high, it is relatively accurate to judge that the network quality of the IPv4 network used by the target application in the terminal is poor. On the contrary, if it is determined that the network anomaly rate of the target application when using the IPv4 network is low, it is relatively accurate to judge that the network quality of the IPv4 network used by the target application in the terminal is high. It should be understood that since the deployment of the application server corresponding to the IPv4 address is relatively mature, it can be considered that the possibility of failure between the terminal and the application server corresponding to the IPv4 address in the connection establishment phase is low. Therefore, when evaluating the network quality of the IPv4 network used by the target application, it is mainly based on the data transmission process between the terminal and the application server corresponding to the IPv4 address.

[0409] Step 2252: Set the target application to disable all IPv6 addresses.

[0410] In the embodiment of this specification, when it is determined that the network quality of the IPv4 network used by the target application is good, the target application is set to disable all IPv6 addresses, thereby ensuring that the subsequent target application can have a higher success rate and higher access efficiency when accessing the corresponding application server based on the IPv4 network.

[0411] The following describes in detail how the terminal performs domain name resolution in step 217 and how to initiate a connection request in step 224 after the target application is set to disable all IPv6 addresses.

[0412] See also Fig.23 , which is a flowchart of a method for sending a domain name resolution request provided in an embodiment of the present application. Step 217 can be implemented by executing sub-steps 2171 to 2172:

[0413] Step 2171: In response to the third operation, determine whether all IPv6 addresses of the target application are in a disabled state.

[0414] Step 2172: If yes, send a third domain name resolution request to the domain name system server.

[0415] In an embodiment of the present specification, when the terminal determines that the overall network quality of the IPv6 network of the target application is poor, and the overall network quality of the IPv4 network of the target application is good, if it is detected that the target application needs to access the second domain name, first, the terminal can determine whether all IPv6 addresses of the target application have been disabled. If so, the policy of giving priority to the use of the IPv6 network is changed to giving priority to the use of the IPv4 network with better network quality, that is, when performing domain name resolution to the domain name system server, only the IPv4 address corresponding to the second domain name is requested, thereby ensuring that the subsequent target application has a higher success rate and higher access efficiency when accessing the corresponding application server based on the IPv4 network, avoiding the waste of resources caused by requesting the IPv6 address corresponding to the second domain name when all IPv6 addresses of the target application are disabled.

[0416] See also Fig.24 , which is a flow chart of a method for connecting to a fifth application server based on a second target IPv4 address provided in an embodiment of the present application. Step 224 can be implemented by executing sub-steps 2241 to 2243:

[0417] Step 2241: Determine whether all IPv6 addresses of the target application are in a disabled state.

[0418] Step 2242: If yes, determine the second target IPv4 address from the plurality of fourth IPv4 addresses.

[0419] Step 2243: Send a fifth connection request to a fifth application server based on the second target IPv4 address.

[0420] In the embodiment of the present specification, when the terminal simultaneously obtains multiple fourth IPv4 addresses and multiple fourth IPv6 addresses corresponding to the second domain name, the terminal can determine whether all IPv6 addresses of the target application are in a disabled state. If so, the policy of giving priority to the use of the IPv6 network is changed to give priority to using the IPv4 network with better network quality to access the corresponding application server. At this time, the second target IPv4 address can be determined from the multiple fourth IPv4 addresses to access the corresponding fifth application server, avoiding repeated access anomalies caused by repeatedly accessing the application server based on the IPv6 network, thereby ensuring that the terminal has a higher success rate and a higher access efficiency when accessing the application server, which is beneficial to improving the user's Internet experience.

[0421] In some embodiments, when the target application in the terminal accesses the corresponding application server based on the IPv6 network, the overall network quality is poor, which may be due to fluctuations in the network where the IPv6 address used is located. Therefore, as long as the network returns to normal, the target application can no longer be restricted from using the IPv6 address.

[0422] See also Fig.25 and 26 , is a flow chart of a method for accessing an application server based on an IPv4 address provided in an embodiment of this specification. After step 225, step 226 may be further executed:

[0423] Step 226: In response to satisfying the second preset condition, release the target application from disabling all IPv6 addresses.

[0424] In the embodiments of this specification, first, when the target application uses multiple target IPv6 addresses to access the corresponding application server, the network fluctuations of the network where the multiple target IPv6 addresses are located can be considered to be short-term, so the second preset condition can be: the target application disables all IPv6 addresses for a period of time that reaches a fourth preset period of time. After the fourth preset period of time, it can be considered that the short-term network fluctuations of the network where the above multiple target IPv6 addresses are located have been eliminated, and the target application can be released from the disabled state of all IPv6 addresses. For example, after the target application disables all IPv6 addresses for 48 hours, the target application is released from the disabled state of all IPv6 addresses. It should be understood that the third preset period of time can be set according to the average duration of network fluctuations in actual applications, and no special restrictions are made here.

[0425] Second, when the target application uses multiple target IPv6 addresses to access the corresponding application server, the network fluctuation of the network where the multiple target IPv6 addresses are located may be caused by the use of a specific operator network. Therefore, the second preset condition can be: an operator switching event is detected. After the operator switching event is detected, it can be considered that the network fluctuation of the network where the above multiple target IPv6 addresses are located has been eliminated, and the target application can be released from the disabled state of all IPv6 addresses. For example, when the target application uses the above multiple target IPv6 addresses to access the corresponding application server, the terminal detects that the operator of the Subscriber Identity Module (SIM) used is China Telecom. At this time, it is considered that the network fluctuation of the network where the above multiple target IPv6 addresses are located is caused by the use of China Telecom's network. After the target application is set to disable all IPv6 addresses, if the terminal detects that the operator of the SIM card used is switched from China Telecom to China Mobile, it can be considered that the network fluctuation of the network where the above multiple target IPv6 addresses are located has been eliminated, and the target application can be released from the disabled state of all IPv6 addresses.

[0426] Third, when the target application uses multiple target IPv6 addresses to access the corresponding application server, the network fluctuation of the network where the multiple target IPv6 addresses are located is caused by the use of a specific type of network. Therefore, the second preset condition can be: a network switching event is detected. After the network switching event is detected, it can be considered that the network fluctuation of the network where the above multiple target IPv6 addresses are located has been eliminated, and the target application can be released from the disabled state of all IPv6 addresses. For example, when the above multiple target IPv6 addresses are used to access the corresponding application server, the terminal detects that the network type used is a cellular network. At this time, it is considered that the network fluctuation of the network where the above multiple target IPv6 addresses are located is caused by the use of a cellular network. After the target application is set to disable all IPv6 addresses, if the terminal detects that the network type used is switched from a cellular network to a wireless fidelity (Wireless Fidelity, WIFI) network, it can be considered that the network fluctuation of the network where the above multiple target IPv6 addresses are located has been eliminated, and the target application can be released from the disabled state of multiple target IPv6 addresses.

[0427] It should be understood that the above-mentioned lifting of the target application's disabling state for all IPv6 addresses may be to remove the target application from the application blacklist disabling all IPv6 addresses. Of course, there are other possible implementation methods, which are not particularly limited here.

[0428] Of course, the second preset condition for lifting the target application's disabled state for all IPv6 addresses includes but is not limited to the above three conditions, and this application does not impose any special restrictions.

[0429] The following is an overall description of the process of target applications accessing the corresponding server under single address and multiple addresses.

[0430] Scenario 1: Please refer to Fig. 27 , is a flowchart of the entire process of a target application accessing a corresponding application server based on a single address provided in an embodiment of this specification.

[0431] Step 1: First visit to the first domain name.

[0432] When the terminal detects that the target application needs to access the first domain name, the terminal can request multiple first IPv4 addresses and multiple first IPv6 addresses corresponding to the first domain name from the DNS server. After receiving the multiple first IPv4 addresses and multiple first IPv6 addresses, the terminal selects a first target IPv6 address from the multiple first IPv6 addresses based on the principle of giving priority to IPv6 addresses, and then the target application accesses the corresponding first application server based on the first target IPv6 address. When the target application accesses the first application server based on the first target IPv6 address, on the one hand, the terminal will count the number of IPv6 sockets whose target address is the first application server created during the connection establishment phase between the terminal and the first application server (V6SockNum), and the number of IPv6 sockets created that are not responded to by the first application server (V6SockErrNum), and then calculate the ratio of V6SockErrNum to V6SockNum to obtain the single-address connection abnormality rate (V6SockErr); on the other hand, the terminal will count the number of data packets sent by the first application server received by the terminal during the data transmission phase after the terminal and the first application server are established (V6SkbNum) and the number of abnormal data packets sent by the first application server received by the terminal (V6SkbErrNum), and then calculate the ratio of V6SkbErrNum to V6SkbNum to obtain the single-address data transmission abnormality rate (V6SkbErr). Finally, the terminal determines the first network abnormality rate (QualV6) within a unit time period based on the single-address connection abnormality rate (V6SockErr), the single-address data transmission abnormality rate (V6SkbErr) and the statistical time period (i.e., the first preset time period). If QualV6 is higher than the first set threshold, it is considered that the network quality when the terminal accesses the first application service based on the first target IPv6 address is poor, and the target application is set to disable the first target IPv6 address.

[0433] Step 2: Visit the first domain name again.

[0434] If the terminal detects that the target application needs to access the first domain name again, there are two possible implementation plans:

[0435] First, the terminal requests multiple second IPv4 addresses and multiple second IPv6 addresses corresponding to the first domain name from the DNS server. After receiving the multiple second IPv4 addresses and multiple second IPv6 addresses, the terminal first determines whether the multiple second IPv6 addresses contain the first target IPv6 address disabled by the target application based on the principle of giving priority to the use of IPv6 addresses. If contained, the first target IPv6 address is filtered out from the multiple second IPv6 addresses, and the second target IPv6 address is selected from the remaining second IPv6 addresses, and then the target application accesses the corresponding second application server based on the second target IPv6 address. If not contained, the second target IPv6 address is directly selected from the multiple second IPv6 addresses, and then the target application accesses the corresponding second application server based on the second target IPv6 address.

[0436] Second, the terminal filters out the first target IPv6 address from the multiple first IPv6 addresses, and selects a third target IPv6 address from the remaining first IPv6 addresses, and then the target application accesses the corresponding third application server based on the third target IPv6 address.

[0437] On this basis, after detecting that the first preset condition is met, the terminal releases the disabled state of the target application on the first target IPv6 address.

[0438] Scenario 2: Please refer to Fig.28 , is a flowchart of the entire process of a target application accessing a corresponding application server based on multiple addresses provided in an embodiment of this specification.

[0439] Step 1: Determine whether to disable all IPv6 addresses of the target application based on the multi-address access situation.

[0440] The target application in the terminal may access multiple domain names within the third preset time period, for example, the first domain name, the second domain name and the third domain name. Here, there is no special restriction on the number of domain names accessed by the target application within the third preset time period. When accessing each of the above multiple domain names, the specific process can refer to scenario one and will not be repeated here. In the process of accessing multiple domain names, the target application will access the corresponding application server based on multiple target IPv6 addresses. On the one hand, the terminal can count the total number of visits (V6AddrCnt) of the target application to the corresponding application server based on multiple target IPv6 addresses, and the total number of abnormal visits (V6AddrErrCnt) of the target application to the corresponding application server based on the above multiple IPv6 addresses, and then calculate the ratio of V6AddrErrCnt to V6AddrCnt to obtain the multi-address abnormal access rate (V6AddrErr); on the other hand, the terminal can count the total number of IPv6 sockets created when the target application accesses the corresponding application server based on multiple target IPv6 addresses (V6SockNum * ), and the total number of created IPv6 sockets that were not responded to by the corresponding application server (V6SockErrNum * ), then calculate V6SockErrNum * With V6SockNum * The ratio can be used to obtain the multi-address connection abnormality rate (V6SockErr * ). The terminal obtains V6AddrErr and V6SockErr * After that, by calculating V6AddrErr and V6SockErr * The second network anomaly rate (AppQualV6) can be obtained by calculating the average value. At the same time, the terminal can also count the total number of data packets (V4SkbNum) sent by the application server when the target application accesses the corresponding application server based on multiple target IPv4 addresses within the third preset time (T2). * ), and the total number of abnormal packets received from the application server (V4SkbErrNum * ), then calculate V4SkbErrNum * With V4SkbNum *The ratio can be used to obtain the multi-address transmission anomaly rate (V4SkbErr*). Finally, the terminal calculates the ratio of V4SkbErr* to T2 to obtain the third network anomaly rate (AppQualV4) per unit time. In other words, AppQualV6 is used to evaluate the IPv6 network used by the target application, and AppQualV4 is used to evaluate the IPv4 network used by the target application. If AppQualV6 is higher than the second set threshold and AppQualV4 is lower than the third set threshold, it indicates that the network quality of the IPv6 network used by the target application is poor, while the network quality of the IPv4 network used is good, then the target application is set to disable all IPv6 addresses.

[0441] Step 2: The target application accesses the corresponding application server based on the IPv4 address.

[0442] After the terminal sets the target application to disable all IPv6 addresses, if it is detected that the target application accesses any domain name, for example, the target application accesses the second domain name, there are two possible implementation plans:

[0443] First, the terminal determines whether the target application is set to disable all IPv6 addresses. If so, it requests the DNS server for multiple third IPv4 addresses corresponding to the second domain name. After receiving the multiple third IPv4 addresses, the terminal selects the first target IPv4 address from the multiple third IPv4 addresses, and then the target application can access the corresponding fourth application server based on the first target IPv4 address.

[0444] Second, the terminal requests the DNS server for multiple fourth IPv4 addresses and multiple fourth IPv6 addresses corresponding to the second domain name. After receiving the multiple fourth IPv4 addresses and multiple fourth IPv6 addresses, the terminal determines whether the target application is set to disable all IPv6 addresses and preferentially selects the second target IPv4 address from the multiple fourth IPv4 addresses, and then the target application accesses the corresponding fifth application server based on the second target IPv4 address.

[0445] See also Fig.29 Based on the same inventive concept, an embodiment of this specification also provides an access device for an application server, the device comprising: a detection unit 501, a sending unit 502 and a processing unit 503.

[0446] A detection unit 501 is configured to detect a first operation on a target application, where the first operation instructs the target application to access a first domain name;

[0447] A sending unit 502 is used to send a first domain name resolution request to a domain name system server in response to a first operation, where the first domain name resolution request is used to request a plurality of first IPv4 addresses and a plurality of first IPv6 addresses corresponding to a first domain name;

[0448] The processing unit 503 is configured to receive a plurality of first IPv4 addresses and a plurality of first IPv6 addresses sent by the domain name system server, and send a first connection request to the first application server, where the first connection request includes a first target IPv6 address among the plurality of first IPv6 addresses;

[0449] The processing unit 503 is further configured to, in response to determining that the network quality when accessing the first application server based on the first target IPv6 address is lower than a first set network quality level and detecting a second operation for the target application, the second operation instructs the target application to access the first domain name again;

[0450] The sending unit 502 is further configured to send a second domain name resolution request to the domain name system server in response to the second operation, where the second domain name resolution request is used to request a plurality of second Pv4 addresses and a plurality of second IPv6 addresses corresponding to the first domain name;

[0451] The processing unit 503 is also used to receive a second IPv4 address and multiple second IPv6 addresses sent by the domain name system server, and send a second connection request to the second application server, the second connection request includes a second target IPv6 address among the multiple second IPv6 addresses, and the second target IPv6 address is different from the first target IPv6 address.

[0452] Optionally, the processing unit 503 includes a first network quality evaluation unit;

[0453] The first network quality assessment unit is specifically used for:

[0454] Determine a single-address connection abnormality rate according to the number of IPv6 sockets whose target address is the first application server and which are created within a first preset time period, and the number of IPv6 sockets that are not responded to by the first application server;

[0455] Determine a single-address data transmission abnormality rate according to the number of data packets sent by the first application server and received within the first preset time period, and the number of abnormal data packets in the data packets;

[0456] Obtaining a first network abnormality rate within a unit time period according to the single-address connection abnormality rate, the single-address data transmission abnormality rate, and the first preset time period;

[0457] In response to the first network abnormality rate being higher than a first set threshold, it is determined that the network quality when accessing the first application server based on the first target IPv6 address is lower than a first set network quality level.

[0458] Optionally, the processing unit 503 is further configured to: set the target application to disable the first target IPv6 address.

[0459] Optionally, the processing unit 503 includes: a filtering unit, a determining unit, and a first connection request sending unit;

[0460] a filtering unit, configured to filter out the first target IPv6 address disabled by the target application from the plurality of second IPv6 addresses in response to the presence of the first target IPv6 address disabled by the target application in the plurality of second IPv6 addresses;

[0461] A determining unit, configured to determine a second target IPv6 address from the remaining second IPv6 addresses;

[0462] The first connection request sending unit is used to send a second connection request to the second application server based on the second target IPv6 address.

[0463] Optionally, the sending unit 502 is further used to send a third connection request to a third application server in response to the second operation, the third connection request including a third target IPv6 address among the multiple first Pv6 addresses, and the third target IPv6 address is different from the first target IPv6 address.

[0464] Optionally, the processing unit 503 is further used to release the target application from disabling the first target IPv6 address in response to satisfying a first preset condition, wherein the first preset condition includes the target application disabling the first target IPv6 address for a disabling period reaching a second preset period, or an operator switching event is detected, or a network switching event is detected.

[0465] Optionally, the processing unit 503 is further configured to respond to determining that the network quality of the IPv6 network of the target application is lower than a second set network quality level and detecting a third operation for the target application, the third operation instructing the target application to access the second domain name;

[0466] The sending unit 502 is further configured to send a third domain name resolution request to the domain name system server in response to the third operation, where the third domain name resolution request is used to request a plurality of third IPv4 addresses corresponding to the second domain name;

[0467] The sending unit is further configured to send a fourth connection request to a fourth application server, where the fourth connection request includes the first target IPv4 address among the multiple third IPv4 addresses.

[0468] Optionally, the processing unit 503 includes a second network quality evaluation unit;

[0469] The second network quality assessment unit is specifically used for:

[0470] Determine a multi-address abnormal access rate according to the total number of accesses of the target application to the corresponding application server based on multiple target IPv6 addresses within the third preset time period, and the total number of abnormal accesses of the target application to the corresponding application server based on multiple target IPv6 addresses;

[0471] Determine the multi-address connection abnormality rate based on the total number of IPv6 sockets created when the target application accesses the corresponding application server based on multiple target IPv6 addresses within the third preset time period, and the total number of IPv6 sockets that are not responded by the corresponding application server;

[0472] Determine the second network abnormality rate according to the multi-address abnormal access rate and the multi-address connection abnormality rate;

[0473] In response to the second network abnormality rate being higher than a second set threshold, it is determined that the network quality of the IPv6 network of the target application is lower than a second set network quality level.

[0474] Optionally, the processing unit 503 is further configured to set the target application to disable all IPv6 addresses.

[0475] Optionally, the processing unit 503 includes: a third network quality assessment unit and a disabling unit;

[0476] A third network quality evaluation unit, used to determine that the network quality of the IPv4 network of the target application is higher than a third set network quality level;

[0477] The disabling unit is used to set the target application to disable all IPv6 addresses.

[0478] Optionally, the sending unit 502 is further configured to send a fourth domain name resolution request to the domain name system server in response to the third operation, where the fourth domain name resolution request is used to request multiple fourth IPv4 addresses and multiple fourth IPv6 addresses corresponding to the second domain name;

[0479] The processing unit is further configured to receive multiple fourth IPv4 addresses and multiple fourth IPv6 addresses sent by the domain name system server, and send a fifth connection request to the fifth application server, wherein the fifth connection request includes the second target IPv4 address among the multiple fourth IPv4 addresses.

[0480] Optionally, the processing unit 503 includes: a second connection request sending unit;

[0481] The second connection request sending unit is specifically configured to:

[0482] Determine whether all IPv6 addresses of the target application are disabled;

[0483] If so, determining a second target IPv4 address from the plurality of fourth IPv4 addresses;

[0484] A fifth connection request is sent to a fifth application server based on the second target IPv4 address.

[0485] Optionally, the third network quality assessment unit is specifically configured to:

[0486] Determine the multi-address data packet abnormality rate according to the number of data packets sent by the application server and the number of abnormal data packets in the data packets when the target application is based on the application servers corresponding to the multiple target IPv4 addresses within the third preset time period;

[0487] According to the third preset time length and the multi-address data packet abnormality rate, a third network abnormality rate within a unit time length is obtained;

[0488] If the third network abnormality rate is less than the third set threshold, it is determined that the network quality of the IPv4 network of the target application is higher than the third set network quality level.

[0489] Optionally, the processing unit 503 is also used to release the target application from disabling status of all IPv6 addresses in response to satisfying a second preset condition, wherein the second preset condition includes the target application disabling all IPv6 addresses for a disabling period reaching a fourth preset period, or an operator switching event is detected, or a network switching event is detected.

[0490] See also Fig.30 The embodiment of the present specification also provides a chip module, the chip module includes at least one processor 601, the processor 601 is used to execute the computer program stored in the memory, and implement the embodiment of the present application as provided in Figure 4 , Figure 6-Figure 28 The flowchart diagram steps of the method for accessing the application server are shown.

[0491] Optionally, the processor 601 may specifically be a central processing unit, a specific ASIC, or one or more integrated circuits for controlling program execution.

[0492] Optionally, the chip module may further include a memory 602 connected to at least one processor 601, and the memory 602 may include ROM, RAM, and disk storage. The memory 602 is used to store data required by the processor 601 when it is running, that is, it stores instructions that can be executed by at least one processor 601. At least one processor 601 executes the instructions stored in the memory 602 to execute the following steps: Figure 1-7The method shown. Wherein, the number of memories 602 is one or more. Wherein, the number of memories 602 is one or more.

[0493] The embodiment of the present specification also provides a computer storage medium, wherein the computer storage medium stores computer instructions, and when the computer instructions are executed on a computer, the computer executes the following Figure 4 , Figure 6-Figure 28 The method described.

[0494] The embodiment of the present specification provides a computer program product, which includes computer instructions. When the computer instructions are executed on a computer, the computer executes the following Figure 4 , Figure 6-Figure 28 The method described.

[0495] The above embodiments can be implemented in whole or in part by software, hardware, firmware or any other combination. When implemented by software, the above embodiments can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded or executed on a computer, the process or function described in the embodiment of this specification is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from one website site, computer, server or data center to another website site, computer, server or data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server or data center that contains one or more available media sets. The available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium. The semiconductor medium can be a solid state drive (SSD).

[0496] The above description is only a preferred embodiment of this specification and is not intended to limit this specification. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of this specification should be included in the scope of protection of this specification.

Claims

1. A method for accessing an application server, characterized in that: The method comprises: A first operation on a target application is detected, where the first operation instructs the target application to access a first domain name; In response to the first operation, sending a first domain name resolution request to a domain name system server, where the first domain name resolution request is used to request a plurality of first IPv4 addresses and a plurality of first IPv6 addresses corresponding to the first domain name; Receiving the multiple first IPv4 addresses and the multiple first IPv6 addresses sent by the domain name system server, and sending a first connection request to a first application server, wherein the first connection request includes a first target IPv6 address among the multiple first IPv6 addresses; In response to determining that the network quality when accessing the first application server based on the first target IPv6 address is lower than a first set network quality level, and detecting a second operation for the target application, the second operation instructs the target application to access the first domain name again; In response to the second operation, sending a second domain name resolution request to the domain name system server, where the second domain name resolution request is used to request multiple second Pv4 addresses and multiple second IPv6 addresses corresponding to the first domain name; Receive the multiple second IPv4 addresses and the multiple second IPv6 addresses sent by the domain name system server, and send a second connection request to the second application server, the second connection request includes a second target IPv6 address among the multiple second IPv6 addresses, and the second target IPv6 address is different from the first target IPv6 address.

2. The method according to claim 1, characterized in that Determining that the network quality when accessing the first application server based on the first target IPv6 address is lower than a first set network quality level includes: Determine a single-address connection abnormality rate according to the number of IPv6 sockets whose target address is the first application server and which are created within a first preset time period, and the number of the IPv6 sockets that are not responded to by the first application server; Determine a single-address data transmission abnormality rate according to the number of data packets sent by the first application server and received within the first preset time period, and the number of abnormal data packets in the data packets; Obtaining a first network abnormality rate within a unit time period according to the single-address connection abnormality rate, the single-address data transmission abnormality rate, and the first preset time period; In response to the first network abnormality rate being higher than a first set threshold, it is determined that the network quality when accessing the first application server based on the first target IPv6 address is lower than the first set network quality level.

3. The method according to claim 1 or 2, characterized in that: After determining that the network quality when accessing the first application server based on the first target IPv6 address is lower than the first set network quality level, the method further includes: The target application is configured to disable the first target IPv6 address.

4. The method according to claim 3, characterized in that Sending a second connection request to a second application server includes: In response to the presence of the first target IPv6 address disabled by the target application in the plurality of second IPv6 addresses, filtering the first target IPv6 address disabled by the target application from the plurality of second IPv6 addresses, and determining the second target IPv6 address from the remaining second IPv6 addresses; The second connection request is sent to the second application server based on the second target IPv6 address.

5. The method according to claim 1, characterized in that After detecting a second operation on the target application, the method further includes: In response to the second operation, a third connection request is sent to a third application server, the third connection request including a third target IPv6 address among the multiple first Pv6 addresses, the third target IPv6 address being different from the first target IPv6 address.

6. The method according to claim 3 or 4, characterized in that: After setting the first target IPv6 address of the target application to a disabled state, the method further includes: In response to satisfying a first preset condition, the target application's disabling state of the first target IPv6 address is released, wherein the first preset condition includes the target application disabling the first target IPv6 address for a disabling period reaching a second preset period, or an operator switching event is detected, or a network switching event is detected.

7. The method according to claim 1 or 5, characterized in that: The method further comprises: In response to determining that the network quality of the IPv6 network of the target application is lower than a second set network quality level, and detecting a third operation for the target application, the third operation instructs the target application to access a second domain name; In response to the third operation, sending a third domain name resolution request to the domain name system server, where the third domain name resolution request is used to request a plurality of third IPv4 addresses corresponding to the second domain name; A fourth connection request is sent to a fourth application server, where the fourth connection request includes the first target IPv4 address among the multiple third IPv4 addresses.

8. The method according to claim 7, characterized in that In response to determining that the network quality of the IPv6 network of the target application is lower than a second set network quality level, the method comprises: Determine a multi-address abnormal access rate according to the total number of accesses of the target application to the corresponding application server based on the multiple target IPv6 addresses within the third preset time period, and the total number of abnormal accesses of the target application to the corresponding application server based on the multiple target IPv6 addresses; Determine a multi-address connection abnormality rate based on a total number of IPv6 sockets created when the target application accesses the corresponding application server based on the multiple target IPv6 addresses within the third preset time period, and a total number of IPv6 sockets that are not responded to by the corresponding application server in the IPv6 socket set; Determining a second network abnormality rate according to the multi-address abnormal access rate and the multi-address connection abnormality rate; In response to the second network abnormality rate being higher than a second set threshold, it is determined that the network quality of the IPv6 network of the target application is lower than the second set network quality level.

9. The method according to claim 7 or 8, after determining that the target application accesses the corresponding application server based on the IPv6 network abnormally, the method further comprises: The target application is configured to disable all IPv6 addresses.

10. The method according to claim 9, characterized in that The target application is configured to disable all IPv6 addresses, including: In response to determining that the network quality of the IPv4 network of the target application is higher than a third set network quality level, the target application is set to disable all IPv6 addresses.

11. The method according to claim 10, characterized in that In response to the third operation, sending a third domain name resolution request to the domain name system server includes: In response to the third operation, determining whether all IPv6 addresses of the target application are in a disabled state; If yes, send the third domain name resolution request to the domain name system server.

12. The method according to claim 10, characterized in that After detecting a third operation on the target application, the method further includes: In response to the third operation, sending a fourth domain name resolution request to the domain name system server, wherein the fourth domain name resolution request is used to request a plurality of fourth IPv4 addresses and a plurality of fourth IPv6 addresses corresponding to the second domain name; Receive the multiple fourth IPv4 addresses and the multiple fourth IPv6 addresses sent by the domain name system server, and send a fifth connection request to a fifth application server, where the fifth connection request includes the second target IPv4 address among the multiple fourth IPv4 addresses.

13. The method according to claim 12, characterized in that Sending a fifth connection request to a fifth application server includes: Determining whether all IPv6 addresses of the target application are in a disabled state; If so, determining the second target IPv4 address from the plurality of fourth IPv4 addresses; The fifth connection request is sent to the fifth application server based on the second target IPv4 address.

14. The method according to claim 10, characterized in that Determining that the network quality of the IPv4 network of the target application is higher than a third set network quality level includes: Determine the multi-address data packet abnormality rate according to the number of data packets sent by the application server and the number of abnormal data packets in the data packets when the target application is based on the application servers corresponding to the multiple target IPv4 addresses within the third preset time period; Obtaining a third network abnormality rate within a unit time length according to the third preset time length and the multi-address data packet abnormality rate; If the third network abnormality rate is less than a third set threshold, it is determined that the network quality of the IPv4 network of the target application is higher than the third set network quality level.

15. The method according to any one of claims 9 to 14, characterized in that: After setting the target application to disable all IPv6 addresses, the method further includes: In response to satisfying a second preset condition, the target application's disabling state of all IPv6 addresses is released, wherein the second preset condition includes the target application disabling all IPv6 addresses for a disabling period reaching a fourth preset period, or an operator switching event is detected, or a network switching event is detected.

16. A chip module, characterized in that: The chip module includes a memory for storing computer program instructions and a processor for executing program instructions, wherein when the computer program instructions are executed by the processor, the chip module is triggered to execute the steps of the method as described in any one of claims 1-15.

17. A terminal, characterized in that: The terminal comprises a memory for storing computer program instructions and a processor for executing the program instructions, wherein when the computer program instructions are executed by the processor, the terminal is triggered to execute the steps of the method according to any one of claims 1 to 15.

18. A computer-readable storage medium, characterized in that: The computer-readable storage medium is used to store computer instructions, and when the computer instructions are executed in a computer, the computer is caused to execute the steps of the method according to any one of claims 1 to 15.

19. A computer program product, characterized in that The computer program product comprises computer instructions, and when the computer instructions are executed on a computer, the computer is caused to execute the steps of the method according to any one of claims 1 to 15.

Citation Information

Patent Citations

  • Method, system, device and storage media for resolving a domain name

    CN108718347A

  • Method and device for improving network access success rate, equipment and storage medium

    CN110519401A

  • Access method of application server and terminal

    CN113395364A

  • Communication method, electronic equipment and storage medium

    CN114884920A