Domain name resolution method, domain name resolution result storage method and related equipment

By introducing a domain name prediction model in the Http DNS service, predicting the original domain name request data, generating predicted domain name data and feedback its analysis results, the problem of single domain name resolution method in the existing technology is solved, and more efficient domain name prediction and resolution is achieved, reducing network time consumption and server load.

CN114915611BActive Publication Date: 2025-03-21BEIJING YOUZHUJU NETWORK TECH CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202210694463.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-06-16
Publication Date
2025-03-21
Estimated Expiration
2042-06-16

AI Technical Summary

Technical Problem

The existing Http DNS services lack diversified resolution methods during domain name resolution, which cannot meet the diverse needs of users, and lead to an increase in network time-consuming access to terminal domain names and an increase in server traffic load pressure.

Method used

The domain name prediction model is used to predict the original domain name request data, generate predicted domain name data, and feedback its analysis results to the terminal to reduce the number of domain name requests sent by the terminal and reduce the traffic load pressure on the server.

Benefits of technology

By predicting the feedback of the analysis results of domain name data, we can reduce the network time-consuming access to terminal domain name, reduce the consumption of server resources, improve the efficiency of domain name prediction and analysis, and meet the diverse needs of users.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114915611B_ABST
    Figure CN114915611B_ABST
Patent Text Reader

Abstract

The present application provides a domain name resolution method, a domain name resolution result storage method and related equipment. Among them, the domain name resolution method includes: receiving original domain name request data sent by a terminal; inputting the original domain name request data into a domain name prediction model; using the domain name prediction model to predict and process the original domain name request data based on prediction rules to obtain predicted domain name data; parsing the predicted domain name data to obtain a predicted domain name resolution result, and feeding back the predicted domain name resolution result to the terminal. In this way, the predicted domain name data predicted by the domain name prediction model is more in line with the user's usage characteristics and can meet the user's diverse needs. The resolution result corresponding to the predicted domain name data is returned to the terminal, which can reduce the network time consumption of the terminal domain name access, reduce the number of domain name requests sent by the terminal, and reduce the traffic load pressure on the server, so that the efficiency of domain name prediction and resolution is effectively improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of data processing technology, and in particular to a domain name resolution method, a domain name resolution result storage method and related equipment. Background Art

[0002] With the continuous development of the Internet, the Http DNS (Domain Name System) service that uses the Http (Hypertext Transfer Protocol) / Https (Hypertext Transfer Security Protocol) protocol for domain name resolution is widely used in various client scenarios, providing users with more accurate and real-time domain name resolution services as the first step in accessing Internet services.

[0003] In the solution for resolving the domain name, generally the original domain name request is responded to and resolved, or the domain name of the original request is predicted at the next moment. This prediction and resolution method is relatively simple and cannot meet the diverse needs of users. Summary of the invention

[0004] In view of this, the purpose of this application is to propose a domain name resolution method, a domain name resolution result storage method and related equipment to solve or partially solve the above technical problems.

[0005] Based on the above purpose, the first aspect of the present application provides a domain name resolution method, including:

[0006] Receive the original domain name request data sent by the terminal;

[0007] Inputting the original domain name request data into a domain name prediction model;

[0008] Using the domain name prediction model to predict the original domain name request data based on prediction rules to obtain predicted domain name data, wherein the prediction rules are pre-obtained rules that can be parsed according to the characteristics of the domain name request;

[0009] The predicted domain name data is parsed to obtain a predicted domain name parsing result, and the predicted domain name parsing result is fed back to the terminal.

[0010] Based on the same technical concept, the second aspect of the present application proposes a method for storing domain name resolution results, including:

[0011] Generate original domain name request data, and send the original domain name request data to the server, so that the server can parse the original domain name request data to obtain a parsing result;

[0012] Receive the parsing results fed back by the server;

[0013] In response to determining that the resolution result includes the original domain name resolution result, saving the original domain name resolution result to a database;

[0014] In response to determining that the resolution result includes a predicted domain name resolution result, and the resolution result stored in the database meets a predetermined condition, the predicted domain name resolution result is saved in the database.

[0015] Based on the same technical concept, the third aspect of the present application proposes a domain name resolution device, including:

[0016] A request receiving module, configured to receive original domain name request data sent by a terminal;

[0017] The feature prediction module is configured to input the original domain name request data into a domain name prediction model; use the domain name prediction model to perform prediction processing on the original domain name request data based on prediction rules to obtain predicted domain name data, wherein the prediction rules are pre-obtained rules that can be parsed according to the characteristics of the domain name request;

[0018] The resolution module is configured to resolve the predicted domain name data to obtain a predicted domain name resolution result, and feed back the predicted domain name resolution result to the terminal.

[0019] Based on the same technical concept, the fourth aspect of the present application proposes a domain name resolution result storage device, including:

[0020] The request sending module is configured to generate original domain name request data and send the original domain name request data to the server, so that the server can parse the original domain name request data to obtain a parsing result;

[0021] The parsing result receiving module is configured to receive the parsing result fed back by the server;

[0022] The storage module is configured to save the original domain name resolution result to a database in response to determining that the resolution result includes the original domain name resolution result; and save the predicted domain name resolution result to the database in response to determining that the resolution result includes the predicted domain name resolution result and the resolution result stored in the database meets a predetermined condition.

[0023] Based on the same technical concept, the fifth aspect of the present application proposes an electronic device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the method described in the first aspect or the second aspect when executing the program.

[0024] Based on the same technical concept, the sixth aspect of the present application proposes a non-transitory computer-readable storage medium, which stores computer instructions, and the computer instructions are used to enable a computer to execute the method described in the first aspect or the second aspect.

[0025] From the above, it can be seen that the domain name resolution method, domain name resolution result storage method and related equipment provided by the present application use the domain name prediction model to predict the predicted domain name data that is more in line with the user's usage characteristics and can meet the user's diverse needs. The resolution result corresponding to the predicted domain name data is returned to the terminal, which can reduce the network time consumed by the terminal domain name access, reduce the number of domain name requests sent by the terminal, reduce the traffic load pressure on the server, save the resource cost of the server, and make the whole process more intelligent, so that the efficiency of domain name prediction and resolution is effectively improved. BRIEF DESCRIPTION OF THE DRAWINGS

[0026] In order to more clearly illustrate the technical solutions in the present application or related technologies, the drawings required for use in the embodiments or related technical descriptions are briefly introduced below. Obviously, the drawings described below are only embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.

[0027] Figure 1 A schematic diagram of an application scenario of an embodiment of the present application;

[0028] Figure 2 A flowchart of a domain name resolution method according to an embodiment of the present application;

[0029] Figure 3 A flowchart of the training process of the domain name prediction model according to an embodiment of the present application;

[0030] Figure 4 A flowchart of a method for storing domain name resolution results according to an embodiment of the present application;

[0031] Figure 5 A structural block diagram of a processing system composed of a terminal and a server in an embodiment of the present application;

[0032] Figure 6 A structural block diagram of a domain name resolution device according to an embodiment of the present application;

[0033] Figure 7 This is a structural block diagram of a domain name resolution result storage device according to an embodiment of the present application;

[0034] Figure 8 A schematic diagram of the structure of an electronic device according to an embodiment of the present application. DETAILED DESCRIPTION

[0035] It is understandable that before using the technical solutions disclosed in the embodiments of the present disclosure, the types, scope of use, usage scenarios, etc. of the personal information involved in the present disclosure should be informed to the user and the user's authorization should be obtained in an appropriate manner in accordance with relevant laws and regulations.

[0036] For example, in response to receiving an active request from a user, a prompt message is sent to the user to clearly prompt the user that the operation requested to be performed will require obtaining and using the user's personal information. Thus, the user can autonomously choose whether to provide personal information to software or hardware such as an electronic device, application, server, or storage medium that performs the operation of the technical solution of the present disclosure according to the prompt message.

[0037] As an optional but non-limiting implementation, in response to receiving an active request from the user, the prompt information may be sent to the user in the form of a pop-up window, in which the prompt information may be presented in text form. In addition, the pop-up window may also carry a selection control for the user to choose "agree" or "disagree" to provide personal information to the electronic device.

[0038] It is understandable that the above notification and the process of obtaining user authorization are merely illustrative and do not constitute a limitation on the implementation of the present disclosure. Other methods that meet the relevant laws and regulations may also be applied to the implementation of the present disclosure.

[0039] It is understandable that the data involved in this technical solution (including but not limited to the data itself, the acquisition or use of the data) shall comply with the requirements of relevant laws, regulations and relevant provisions.

[0040] The principles and spirit of the present application will be described below with reference to several exemplary embodiments. It should be understood that these embodiments are provided only to enable those skilled in the art to better understand and implement the present application, and are not intended to limit the scope of the present application in any way. On the contrary, these embodiments are provided to make the present application more thorough and complete, and to fully convey the scope of the present application to those skilled in the art.

[0041] It should be understood herein that any number of elements in the drawings is for illustration rather than limitation, and any naming is only for distinction rather than having any limiting meaning.

[0042] Based on the description of the above background technology, the related technology also has the following situations:

[0043] HttpDNS service application scenarios are generally used in mobile clients to achieve more accurate domain name resolution, scheduling and anti-hijacking based on the DNS system. The HttpDNS service mechanism belongs to the general C / S (Client-Server) system. The client actively initiates the HttpDNS resolution request of the domain name to the server on demand, while the server can only passively perform the corresponding domain name resolution according to the domain name information and network source IP address carried by the client request. Some HttpDNS systems support administrators to configure custom resolution of multi-dimensional matching rules, and achieve a certain degree of intelligent scheduling through configuration rule matching. However, in the era of "big data", DNS service, as the first hop for users to access the Internet, can naturally collect a large number of user requests. The on-demand request mechanism initiated by the client commonly used in related technologies will result in serious waste of data assets. As a server that can perceive massive HttpDNS business request data, through the deep mining and application of data resources, it can provide a more intelligent HttpDNS domain name resolution mechanism based on data science. However, how to better utilize these data, analyze the business significance behind the data, and perceive user behavior habits deserves in-depth research and application.

[0044] Based on the above description, the principle and spirit of the present application are explained in detail below with reference to several representative implementations of the present application.

[0045] The present application provides a domain name resolution method, a domain name resolution result storage method and related equipment. The predicted domain name data predicted by the domain name prediction model is more in line with the user's usage characteristics and can meet the user's diverse needs. The resolution result corresponding to the predicted domain name data is returned to the terminal, which can reduce the network time consumed by the terminal domain name access, reduce the number of domain name requests sent by the terminal, reduce the traffic load pressure on the server, save the resource cost of the server, and make the whole process more intelligent, so that the efficiency of domain name prediction and resolution is effectively improved.

[0046] refer to Figure 1, which is a schematic diagram of an application scenario of a domain name resolution method, a domain name resolution method, and a domain name resolution result storage method of a domain name prediction model provided in an embodiment of the present application. The application scenario includes a terminal device 101, a server 102, and a data storage system 103. Among them, the terminal device 101, the server 102, and the data storage system 103 can be connected through a wired or wireless communication network. The terminal device 101 includes but is not limited to a desktop computer, a mobile phone, a mobile computer, a tablet computer, a media player, a smart wearable device, a personal digital assistant (PDA), or other electronic devices capable of realizing the above functions. The server 102 and the data storage system 103 can both be independent physical servers, or a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN, and big data and artificial intelligence platforms.

[0047] The server 102 can extract the historical domain name request data from the historical records of the domain name requests received from each terminal device in advance, determine the training samples according to the historical domain name request data to train the neural network model, and add the prediction rules to the trained initial domain name prediction model, so that the obtained domain name prediction model can be based on the behavioral feature data corresponding to the prediction rules. Then the server 102 receives the original domain name request data sent by the terminal device 101, and uses the domain name prediction model to predict the original domain name request data to obtain the predicted domain name data, so that the server 102 can return the parsing result of the predicted domain name data to the terminal device 101. The terminal device 101 can analyze and process the parsing result and store it in the database accordingly. The data storage system 103 provides data storage support for the operation of the server 102, for example, for storing the domain name request data sent by each terminal device 101, and storing the code program for executing the above process.

[0048] Combine the following Figure 1 The domain name resolution method and the domain name resolution result storage method according to the exemplary embodiment of the present application are described by using the application scenario. It should be noted that the above application scenario is only shown to facilitate understanding of the spirit and principle of the present application, and the implementation of the present application is not limited in this respect. On the contrary, the implementation of the present application can be applied to any applicable scenario.

[0049] The embodiment of the present application proposes a domain name resolution method, which is applied to the server, such as Figure 2 As shown, including:

[0050] Step 201: receiving original domain name request data sent by a terminal.

[0051] In specific implementation, when a user accesses an Internet domain name on a client, the domain name request is sent to a server. The original domain name request data obtained after processing by the server is the same as the content of the historical domain name request data in the corresponding embodiment of the above-mentioned domain name resolution method, and will not be repeated here.

[0052] In some embodiments, after obtaining the original domain name request data, it is determined whether a domain name prediction model is obtained. In response to determining that the domain name prediction model is not obtained, the original domain name request data is directly parsed to obtain an original domain name resolution result, and the original domain name resolution result is fed back to the terminal.

[0053] In response to determining that the domain name prediction model is obtained, the process proceeds to step 202 .

[0054] In this way, even if the domain name prediction model is not obtained, the task of resolving the original domain name can be successfully completed, avoiding the situation of resolution failure and affecting the use effect.

[0055] Step 202: Input the original domain name request data into a domain name prediction model, wherein the domain name prediction model is obtained by training a neural network using a large number of samples.

[0056] Step 203: Use the domain name prediction model to perform prediction processing on the original domain name request data based on prediction rules to obtain predicted domain name data.

[0057] In some embodiments, step 203 includes:

[0058] Step 203A, using the domain name prediction model to perform prediction processing based on the hot domain names of mobile application features to obtain hot domain name data.

[0059] In specific implementation, for requests whose serial number of the original domain name request data is the initial value (that is, the first HttpDNS request after the client is started on the terminal), the "hotspot domain name data of mobile application characteristics" is used based on the occurrence time of the original domain name request data and the mobile application (app) information to generate a "hotspot domain name" that is strongly associated with the app type and needs to be actively pushed.

[0060] And / or, step 203B, using the domain name prediction model to perform prediction processing based on the multi-dimensional prediction data to obtain predicted domain name data.

[0061] In the specific implementation, based on the occurrence time, serial number, network location, mobile application identifier and detailed specific request content information of the original domain name request data, multi-dimensional prediction data (app, network location, time period) is used to calculate the "predicted domain name data" related to the client user interaction scenario and user usage habits.

[0062] And / or, step 203C, using the domain name prediction model to perform prediction processing based on the elastic configuration data to obtain elastic domain name data.

[0063] In specific implementation, manual prediction can be made for the original domain name request data of terminal users in some scenarios. For example, large-scale activity requests with clear time characteristics will cause users to concentrate on accessing some activity-related domain names in a short period of time. For such scenarios with obvious periodicity, great human influence, and high feasibility of manual prediction, the original domain name request data specified by the administrator is parsed for traffic with certain characteristics, and the "elastic domain name data" is obtained.

[0064] The hotspot domain name data, predicted domain name data and / or flexible domain name data are used as predicted domain name data and are collected together with the original domain name request data to enter step 204.

[0065] Step 204: parse the predicted domain name data to obtain a predicted domain name resolution result, and feed the predicted domain name resolution result back to the terminal.

[0066] In some embodiments, step 204 specifically includes: respectively resolving the original domain name request data and the pushed domain name data to obtain the original domain name resolution result and the predicted domain name resolution result, and feeding back the original domain name resolution result and the predicted domain name resolution result to the terminal.

[0067] In the specific implementation, the original domain name request data and the predicted domain name data are deduplicated to obtain a collection after deduplication. The collection is encapsulated into standardized message data, and the original domain name resolution result and the predicted domain name resolution result obtained after parsing the collection are carried in the encapsulated message data. The message data is pushed to the terminal. In this way, the server completes the domain name resolution process.

[0068] In some embodiments, the domain name prediction model generation process, such as Figure 3 As shown, including:

[0069] Step 301: obtain a plurality of historical domain name request data from historical data, and determine a training sample set according to the plurality of historical domain name request data, wherein the training sample set includes a plurality of training samples.

[0070] In specific implementation, the server and the terminal are connected by wired or wireless communication, and the corresponding client is installed in the terminal. When the user accesses the Internet domain name on the client, the HttpDNS client SDK (Software Development Kit) is used to resolve the domain name. The domain name request message encapsulated by the client uses the Http (Https) protocol and carries the following information in the domain name request:

[0071] 1. Domain name: The domain name that the client needs to perform DNS resolution on.

[0072] 2. Device information: globally unique device information used to identify a mobile device.

[0073] 3. Mobile application (app) information: the name or identification number of the mobile application.

[0074] 4. HttpDNS request sequence number: The timing sequence number of the HttpDNS request sent after the mobile application is started.

[0075] The terminal sends the domain name request carrying the above data to the server through the communication network, and the server can perform preliminary processing on the domain name request to obtain the domain name request data and record it.

[0076] The server obtains the historical domain name request data stored in the records, and filters and processes it to obtain a training sample set for training the neural network model.

[0077] In some embodiments, step 301 includes:

[0078] Step 3011: Acquire multiple historical domain name request data in the historical data, and select historical domain name request data within a predetermined range from the multiple historical domain name request data as a candidate set.

[0079] In specific implementation, a request processing module is provided on the server side, which is used to receive domain name requests from various terminals, unpack the domain name requests, extract the parameter information carried, and the IP source address of the request message, obtain the user's network location information, including geographic information, operator information, etc., through the IP address attribution database, and mark this information as key feature information in the request as domain name request data. These domain name request data are recorded and stored.

[0080] The server is also provided with a data collection module, which samples the historical domain name request data stored in the records according to the two dimensions of the terminal's mobile application information and device information. The sampling operation can be performed according to a predetermined sampling rate. The sampling rate can be modified and adjusted according to actual needs.

[0081] The server also has a prediction analysis engine. The data collection module sends the sampled historical domain name request data to the prediction analysis engine, and the prediction analysis engine processes the historical domain name request data to obtain training samples.

[0082] In some embodiments, since the number of historical domain name requests sampled by the data collection module is large, in order to avoid the training process of the neural network model being too complicated and affecting the prediction performance of the domain name, step 3011 includes:

[0083] Step 30111, setting a predetermined number of candidate sets and a first predetermined time period.

[0084] In specific implementation, the predetermined number of candidate sets is set to s, and the first predetermined time period is set to (start_time, end_time). After setting, the above two data can be changed and adjusted according to actual needs.

[0085] Step 30112: Select historical domain name request data within a first predetermined time period from the multiple historical domain name request data acquired at the historical moments.

[0086] In specific implementation, the full amount of historical domain name request data within the first predetermined time period (start_time, end_time) can be obtained from the historical domain name request data sampled by the data collection module, and recorded and stored, and the number of occurrences of each domain name can be counted.

[0087] Step 30113, selecting a predetermined number of historical domain name request data from the historical domain name request data within the first predetermined time period, and adding a virtual domain name at the end of the predetermined number of historical domain name request data to generate the candidate set.

[0088] In specific implementation, the full amount of historical domain name request data within (start_time, end_time) is arranged in chronological order, and the first 1 to s historical domain name request data are selected and recorded in a list as a candidate set. A virtual domain name is added at the end of the list to skip the historical domain name request data that is not in the candidate set.

[0089] Step 3012: construct a feature vector for each time point based on the historical domain name request data corresponding to each time point in the candidate set.

[0090] In some embodiments, step 3012 includes:

[0091] Step 30121, filtering the historical domain name request data in the candidate set to obtain a filtered candidate set.

[0092] In specific implementation, in order to reduce the amount of data in the candidate set, it is necessary to filter the candidate set according to a predetermined ratio, where the predetermined ratio can be 1 / 10, 1 / 100 or 1 / 1000. The filtered candidate set obtained in this way has the characteristics of being lightweight, which is convenient for the subsequent training process.

[0093] Step 30122: Select the filtered historical domain name request data within a second predetermined time period from the filtered candidate set as a sample unit, and determine the characteristic data of the sample unit.

[0094] In specific implementation, historical domain name request data of the second predetermined time period (start_time', end_time') is selected from the filtered candidate set for sample construction. Multiple sample units are constructed for the dimensions (mobile application information, device information), and each sample unit includes at least one of the following feature data:

[0095] time: timestamp information;

[0096] ip: client IP address;

[0097] geo: client geographic location information;

[0098] ISP: client operator;

[0099] sequence: request sequence number;

[0100] aid: mobile APP ID;

[0101] host: Request domain name.

[0102] The construction procedure of a sample unit is as follows:

[0103]

[0104]

[0105] Step 30123: construct a feature vector corresponding to each time point based on the feature data of the sample unit.

[0106] In specific implementation, at time point t, the feature vector is constructed as follows: xt = (relative time (time), IPToInt (ip), GeoToInt (geo), request sequence number, aid, and the sequence number of host in the candidate set). Among them, xt is the feature vector at time point t. This process is repeated continuously to complete the construction of the feature vectors at each time point.

[0107] Step 3013, establishing multiple matrix data according to the feature vectors at each time point, and using each matrix data as a training sample to construct a training sample set, wherein the matrix data includes the feature vector of at least one continuous time point.

[0108] In specific implementation, matrix data x=(x0,x1,...,xt,...,xn), y=(y0,y1,...,yt,...,yn') are constructed according to the feature vectors at each time point, where x is the matrix data at one time point, and y is the matrix data at the next time point corresponding to x. For example, x is the matrix data corresponding to the domain name request data of the previous minute, and y is the matrix data corresponding to the domain name request data of the next minute; or x is the matrix data corresponding to the domain name request data of the previous minute, and y is the matrix data corresponding to the domain name request data of the next ten minutes (or five minutes).

[0109] In other words, the matrix data in the training sample set are arranged in chronological order, so that the latter matrix data is the result data of the corresponding prediction of the previous matrix.

[0110] Step 302, constructing a neural network model.

[0111] In specific implementation, the neural network model is a deep neural network model, specifically a LogSparse (sparse mechanism) Transformer (transformation neural network) model.

[0112] In some embodiments, step 302 includes:

[0113] Step 3021, determine a conversion neural network structure with a logarithmic sparsity mechanism.

[0114] In the specific implementation, there are many types of transformation neural network structures. This application uses a transformation neural network structure (Transformer) with a logarithmic sparsity mechanism (LogSparse). Sparsity brings the ability of the neural network to process long time series with fine granularity and strong long-term dependencies.

[0115] Step 3022, combining the conversion neural network structure with the convolutional attention mechanism to construct the neural network model.

[0116] In specific implementation, the conversion neural network structure is combined with the convolutional self-attention mechanism to focus on the local context so that more relevant features can be matched. By stacking multiple self-attention mechanism layers, each historical domain name request data of the neural network can process all its numerical information, thereby reducing the space complexity of each layer.

[0117] Step 303: input each training sample in the training sample set into the neural network model for training to obtain an initial domain name prediction model.

[0118] In some embodiments, step 303 includes:

[0119] Step 3031: Arrange the training samples in the training sample set in chronological order.

[0120] Step 3032: input the training samples into the neural network model in sequence according to the time sequence for training processing.

[0121] Step 3033, in response to determining that the training sample set has been completely trained, the trained neural network model is used as an initial domain name prediction model.

[0122] In specific implementation, the first training sample is input into the neural network model for training processing, and the prediction result of the next time point corresponding to the first training sample is output. If the prediction result is different from the training sample corresponding to the next time point (or the next few time points) in the training sample set, the parameters of each layer in the neural network model are adjusted until the output prediction result is the same as the training sample corresponding to the next time point (or the next few time points) in the training sample set. If the prediction result is the same as the training sample corresponding to the next time point (or the next few time points) in the training sample set, the neural network model is not processed. In this way, the training of the first training sample is completed, the first training sample is removed from the training sample set, and the next training sample is selected to repeat the above training process until all training samples are trained to obtain the initial domain name prediction model.

[0123] After training, the initial domain name prediction model can only predict the domain name request feature vectors that the client will initiate at the next n' time points based on the historical domain name request feature vectors of the client at the input n time points. It is not possible to analyze and process these predicted domain name request feature vectors, so the solution of the subsequent step 304 is adopted to add prediction rules. The specific implementation plan is as follows:

[0124] Step 304, adding prediction rules to the initial domain name prediction model to obtain a domain name prediction model, wherein the prediction rules are pre-obtained rule algorithms that can be parsed according to the characteristics of the domain name request.

[0125] Among them, the prediction rules are the data that can characterize the user's behavior characteristics obtained by calculating the long-term historical domain name request data. According to the prediction rules, the behavior preferences of the terminal users can be determined, and then the domain name data that is more in line with the user's preferences can be calculated based on these prediction rules to meet the user's needs. The prediction rules can also be rules set by the user according to his or her own preferences, which are not specifically limited here.

[0126] In some embodiments, the prediction rule includes at least one of the following:

[0127] The historical domain name request data is calculated according to a coarse-grained configuration algorithm for a time period greater than or equal to a predetermined time period to obtain a mobile application feature hotspot domain name;

[0128] The historical domain name request data is calculated in real time according to a fine-grained configuration algorithm to obtain multi-dimensional prediction data;

[0129] The received elastic configuration data set by the user.

[0130] In specific implementation, the hot domain name of mobile application features is calculated based on a long period of time (greater than or equal to a predetermined period, for example, one month) according to a coarse-grained configuration algorithm. The coarse-grained configuration algorithm is a new computing structure composed of multiple processing units (PEs) with reconfigurable functions and connection lines with configurable different transmission directions. It uses configuration instructions to replace the data operation instructions of traditional microprocessors. Each processing unit of the system configures the corresponding basic operation operator according to the configuration instructions, and completes the calculation of the input data stream through the combination of multiple processing units.

[0131] The multi-dimensional prediction data is obtained based on strong timeliness (i.e., timeliness is less than the predetermined timeliness value, such as 1 second, which can also be understood as real-time calculation) according to the fine-grained configuration algorithm. The fine-grained configuration algorithm is an algorithm that analyzes and processes after fine-grained division of historical and request data. The obtained multi-dimensional prediction data includes: APP (application) related information (such as version number, release time, release official, etc.), network location, time period information, etc.

[0132] In some embodiments, the mobile application feature hotspot domain name, and / or the multi-dimensional prediction data can be periodically updated according to the same or different predetermined cycle times; the elastic configuration data can be updated in real time according to the reception time.

[0133] During specific implementation, the hot domain names and multi-dimensional prediction data of mobile application features will be continuously calculated and updated according to the update of historical domain name data. Therefore, it is necessary to update according to a certain period. The data of each period can be the same or different, and the specific selection is based on the actual situation. In addition, the elastic configuration data is input and set by the user according to his actual needs. In order to ensure the timeliness of the elastic configuration data, the elastic configuration data will be updated in real time. In this way, the domain name prediction model can be trained more accurately and quickly, and the predicted domain name data for domain name prediction using the obtained domain name prediction model is more in line with the user's usage characteristics and can meet the diverse needs of users.

[0134] Through the scheme of the above-mentioned embodiment, the predicted domain name data obtained by using the domain name prediction model is more in line with the user's usage characteristics and can meet the diverse needs of users. The resolution result corresponding to the predicted domain name data is returned to the terminal, which can reduce the network time consumed by the terminal domain name access, reduce the number of domain name requests sent by the terminal, reduce the traffic load pressure on the server, save the resource cost of the server, and make the whole process more intelligent, so that the efficiency of domain name prediction and resolution is effectively improved.

[0135] It should be noted that the domain name resolution method of the embodiment of the present application can be executed by a single device, such as a computer or a server. The domain name resolution method of the present embodiment can also be applied to a distributed scenario and completed by multiple devices cooperating with each other. In the case of such a distributed scenario, one of the multiple devices can only execute one or more steps in the method of the embodiment of the present application, and the multiple devices will interact with each other to complete the described method.

[0136] Based on the same technical concept, this embodiment proposes a domain name resolution result storage method, which is applied to a terminal, such as Figure 4 As shown, the method includes:

[0137] Step 401: Generate original domain name request data, and send the original domain name request data to a server, so that the server can parse the original domain name request data to obtain a parsing result.

[0138] In specific implementation, the corresponding client is installed in the terminal. When the user accesses the Internet domain name on the client, the HttpDNS client SDK (Software Development Kit) is used to resolve the domain name. The domain name request message encapsulated by the client uses the Http (Https) protocol and carries the following information in the original domain name request data:

[0139] 1. Domain name: The domain name that the client needs to perform DNS resolution on.

[0140] 2. Device information: globally unique device information used to identify a mobile device.

[0141] 3. Mobile application (app) information: the name or identification number of the mobile application.

[0142] 4. HttpDNS request sequence number: The timing sequence number of the HttpDNS request sent after the mobile application is started.

[0143] The terminal sends the domain name request data carrying the above data to the server through the communication network. The server performs predictive resolution processing on the original domain name request data according to the scheme described in the embodiment corresponding to the above domain name resolution method, and feeds back the resolution result to the terminal.

[0144] Step 402: Receive the parsing result fed back by the server.

[0145] Step 403: In response to determining that the resolution result includes the original domain name resolution result, the original domain name resolution result is saved in a database.

[0146] Step 404: In response to determining that the resolution result includes a predicted domain name resolution result, and the resolution result stored in the database satisfies a predetermined condition, the predicted domain name resolution result is saved in the database.

[0147] During specific implementation, the SDK of the terminal obtains the parsing result of the current original domain name request data and saves it to the local database (Cache).

[0148] Get the predicted domain name resolution result, and determine whether each predicted domain name resolution result meets the predetermined conditions. If it meets the conditions, save it to the local database (Cache), otherwise discard it.

[0149] In some embodiments, the predetermined condition includes at least one of the following:

[0150] In response to determining that no parsing result is stored in the database and a storage amount of the database is less than or equal to a predetermined storage threshold;

[0151] In response to determining that the existence time (TTL, Time To Live, referring to the existence time of the domain name resolution result in the DNS) of the resolution result stored in the database is less than a predetermined time threshold, and the storage capacity of the database is less than or equal to a predetermined storage threshold.

[0152] In specific implementation, obtain the local cache resolution result. If the resolution result does not exist, save the predicted domain name resolution result to the cache. Obtain the local cache resolution result TTL. If the current TTL is less than the predetermined time threshold, save the predicted domain name resolution result to the cache. When the cache size exceeds the predetermined storage threshold, discard the results with lower confidence in the predicted domain name resolution results. In other cases, discard the predicted domain name resolution results.

[0153] According to the above scheme, in the terminal, the original domain name resolution result can be safely stored, and the predicted domain name resolution result is stored conditionally, which can avoid the situation where the storage capacity of the database is saturated and cannot work.

[0154] It should be noted that the storage method of the embodiment of the present application can be executed by a single device, such as a computer or server. The storage method of this embodiment can also be applied to a distributed scenario and completed by multiple devices cooperating with each other. In the case of such a distributed scenario, one of the multiple devices can only execute one or more steps in the method of the embodiment of the present application, and the multiple devices will interact with each other to complete the described method.

[0155] It should be noted that the above describes some embodiments of the present application. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recorded in the claims can be performed in an order different from that in the above embodiments and still achieve the desired results. In addition, the processes depicted in the accompanying drawings do not necessarily require the specific order or continuous order shown to achieve the desired results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.

[0156] Based on the same technical concept, the terminal and the server are used as a processing system to complete the entire process of the domain name resolution method and the domain name resolution result storage method of the above embodiments.

[0157] Depend on Figure 5 It can be seen that the terminal is equipped with a client, and the server is equipped with a request processing module, a feature prediction module, a domain name resolution module, and a corresponding encapsulation module, which are connected in sequence. It is also equipped with a data acquisition module and a prediction analysis engine, and the data acquisition module is connected to the request processing module. The prediction analysis engine includes a data cleaning module, a sample construction module, a feature modeling module, a prediction algorithm module, and an elastic control module, wherein the data cleaning module is connected to the data acquisition module, the data cleaning module, the sample construction module, the feature modeling module, and the prediction algorithm module are connected in sequence, the elastic control module is connected to the prediction algorithm module, and the prediction algorithm module is connected to the sea area feature prediction module. Based on the above connection relationship, the specific process is as follows:

[0158] 1. When the user accesses the Internet domain name on the terminal client, the HttpDNS client SDK is used to resolve the domain name. The encapsulated request message uses the Http (Https) protocol and carries the following information in the request parameters:

[0159] (1) Domain name: The domain name that the client needs to perform DNS resolution on.

[0160] (2) Device information: globally unique device information used to identify the terminal.

[0161] (3) Mobile application (app) information: the name or identification number of the terminal application.

[0162] (4) HttpDNS request sequence number: the sequence number of the HttpDNS request sent after the mobile application is started.

[0163] 2. The HttpDNS service request of the terminal is forwarded through the public network and finally reaches the server. The "Request Processing" module unpacks and extracts the request parameter information and the source address of the IP message in the above process 1, and obtains the user's network location information through the IP address attribution database, including geographical and operator information as domain name request data.

[0164] 3. When the server starts running, the "Feature Prediction" module does not have an executable domain name prediction model. At this time, the original domain name request data sent by the terminal will be directly sent to the domain name resolution module for resolution after being transmitted through the feature prediction module, and the response encapsulation module will encapsulate it and then feed it back to the client. The effectiveness of the "Feature Prediction" module depends on the "Prediction Analysis Engine" collecting enough historical domain name request data to train the neural network model and generate a domain name prediction model to inject into the "Feature Prediction" module.

[0165] 4. After the HttpDNS service request (i.e., domain name request) is initially processed in the "Request Processing" module, key feature information is identified for each domain name request. The "Data Collection" module samples the traffic according to the two dimensions of mobile application information and device information at a sampling rate. The data collection module supports sampling rate adjustment.

[0166] 5. The specific implementation process of the "data cleaning" and "sample construction" modules in the prediction analysis engine is as follows:

[0167] A. Candidate set generation algorithm: Since the space of historical domain name request data is infinite, in order to avoid the high complexity of the training process affecting the prediction performance of the domain name prediction model for HttpDNS requests, this system uses the "candidate set generation algorithm" to limit the output space of the domain name prediction model. The execution process is as follows:

[0168] (1) Algorithm input: candidate set size s, time interval (start_time, end_time).

[0169] (2) Obtain all HttpDNS request access records (i.e., historical domain name request data) within the (start_time, end_time) interval from the "Data Collection" module and count the number of occurrences of each domain name.

[0170] (3) Select the top s-1 domain names according to the set candidate set size and sort them, which is recorded as list l.

[0171] (4) Insert a dummy domain name at the end of list l to skip the domain names that are not in the candidate set.

[0172] (5) Return list l.

[0173] B. Data cleaning: The data cleaning module filters all request samples according to the candidate set list, and the HttpDNS requests for the domain names in the candidate set will be used for sample construction.

[0174] C. Sample construction: Select the cleaned data in the time interval (start_time', end_time') and construct the historical domain name request samples with the following structure for the dimensions (mobile application information, device information) for neural network modeling. The historical domain name request samples represent the behavior sequence of a certain user in a certain application scenario.

[0175] The meanings of the fields in the historical domain name request sample are as follows:

[0176] time timestamp information, ip client IP address, geo client geographic location information, isp client operator, sequence request serial number, aid mobile APP ID, host request domain name.

[0177] 6. The implementation process of "feature modeling" and "prediction algorithm" in the prediction analysis engine is as follows:

[0178] A. Construct the feature vector at time t as follows xt = (relative time, IPToInt (IP), GeoToInt (geo), sequence number, AID, sequence number of Host in the candidate set).

[0179] B. Construct the matrix x = (x0, x1, ..., xt, ..., xn), y = (y0, y1, ..., yt, ..., yn') as the training sample unit, where x is the previous sample unit and y is the next sample unit.

[0180] C. Build a deep neural network LogSparse Transformer model.

[0181] C1. This neural network is based on the Transformer structure and combines the Convolutional Self-Attention mechanism to focus on the local context so that more relevant features can be matched.

[0182] C2. The neural network uses the LogSparse mechanism, and the introduction of sparsity enables the model to process long time series with fine granularity and strong long-term dependencies. By stacking multiple self-attention layers, each point can be exposed to the information of all its historical values, and the spatial complexity of each layer is reduced.

[0183] D. Use the data generated in step B to train the deep neural network model.

[0184] E. Use the trained neural network model (ie, the initial domain name prediction model) to predict client requests: when the historical query request feature vectors of n clients are input, it is predicted that the client will initiate a query request within the next n' time nodes.

[0185] 7. The prediction rules injected into the initial domain name prediction model include the following three parts:

[0186] A. Mobile application feature hotspot domain names are generated by calculating and processing sample data consisting of historical domain name request data based on a long-term, coarse-grained configuration algorithm.

[0187] B. Based on a strong timeliness and fine-grained configuration algorithm, the sample data consisting of historical domain name request data is calculated and processed to generate multi-dimensional (app, network location, time period) prediction data.

[0188] C. Flexible configuration data with strong activity and task relevance based on artificial scenario prediction and configured by the administrator. The flexible configuration data has obvious rules for effective period and scope.

[0189] The timing of predictive rule injection can be summarized into the following two scenarios:

[0190] Periodic update: The prediction analysis engine periodically updates the mobile application feature hotspot domain names and multi-dimensional prediction data of the "Feature Prediction" module based on data analysis operations.

[0191] Real-time update: When the administrator configures elastic configuration data through the "Elastic Control" module, real-time updates are performed based on the expected time range for the elastic configuration data to take effect.

[0192] 8. After the "prediction analysis engine" injects the domain name prediction model into the "feature prediction" module, the module starts to work formally. The domain name, device information, mobile application (app) information, HttpDNS request sequence number and network location information carried in the original domain name request data are used to perform prediction calculations, as follows:

[0193] A. For requests with initial serial numbers in the original domain name request data (i.e., the first HttpDNS request after the client is started), "hotspot domain name data of mobile application characteristics" is used to generate hotspot domain names that are strongly associated with the app type and need to be actively pushed (i.e., hotspot domain name data) based on the occurrence time of the original domain name request data and the mobile application (app) information.

[0194] B. Based on the occurrence time, serial number, network location, mobile application identifier and original request domain name information of the original domain name request data, a domain name prediction model is used to calculate the predicted domain name (i.e., predicted domain name data) related to the client user interaction scenario and user usage habits based on multi-dimensional prediction data.

[0195] C. The traffic of original domain name request data of users in some scenarios can be predicted manually. For example, large-scale activities with clear time characteristics will cause users to concentrate on accessing some activity-related domain names in a short period of time. For such scenarios with obvious periodic nature, great human influence and high feasibility of manual prediction, the "elastic control" module is used to determine the domain names specified by the administrator for the original domain name request data traffic with certain characteristics, and these domain names are used as elastic domain names (i.e., elastic domain name data).

[0196] 9. The "Domain Name Resolution" module uses the general DNS domain name recursive resolution process to complete the domain name resolution of the original domain name request data and the actively pushed domain name (ie, predicted domain name data) list, and obtains the original domain name resolution result and the predicted domain name resolution result.

[0197] The actively pushed domain name is the deduplicated collection of the "hotspot domain name", "predicted domain name" and "elastic domain name" in the above process 8. Then, the standardized response message encapsulation is completed in the "response encapsulation" module.

[0198] The encapsulated response message carries the information of "original domain name resolution result" and "promoted domain name resolution result" and is pushed to the mobile HttpDNS SDK for processing.

[0199] 10. Mobile SDK handles the response

[0200] A. The mobile SDK obtains the resolution result of the current query domain name and saves it to the local cache.

[0201] B. Obtain the predicted domain name resolution result and perform the following conditional process for each pushed domain name and resolution result.

[0202] B1. Obtain the resolution result stored in the local cache. If no resolution result is stored, save the predicted domain name resolution result to the cache.

[0203] B2. Obtain the TTL of the resolution result stored in the local cache. When the current TTL is less than the threshold, save the predicted domain name resolution result to the cache.

[0204] B3. When the cache size exceeds a predetermined storage threshold, the predicted domain name resolution results with a low confidence level are discarded.

[0205] B4. In other cases, discard the predicted domain name resolution result.

[0206] The above scheme has the following beneficial effects:

[0207] 1. Change the on-demand request mechanism of HttpDNS service that is completely triggered by the client. Through data engineering and predictive analysis on the server side, actively push domain name resolution to the client, and reduce the network time consumed by user domain name access.

[0208] 2. Predict and push client DNS resolution in advance to reduce the number of client HttpDNS requests, reduce the traffic load pressure on the server, and save server resource costs.

[0209] 3. Realize predictive analysis and behavior prediction of user HttpDNS requests to implement a more intelligent domain name scheduling mechanism.

[0210] Based on the same technical concept, corresponding to the domain name resolution method of any of the above embodiments, the present application also provides a domain name resolution device.

[0211] refer to Figure 6 , the device comprises:

[0212] The request receiving module 61 is configured to receive the original domain name request data sent by the terminal;

[0213] The feature prediction module 62 is configured to input the original domain name request data into a domain name prediction model; use the domain name prediction model to perform prediction processing on the original domain name request data based on prediction rules to obtain predicted domain name data, wherein the prediction rules are pre-obtained rules that can be parsed according to the characteristics of the domain name request;

[0214] The resolution module 63 is configured to resolve the predicted domain name data to obtain a predicted domain name resolution result, and feed the predicted domain name resolution result back to the terminal.

[0215] In some embodiments, the feature prediction module 62 is further configured to:

[0216] The domain name prediction model is used to perform prediction processing based on the hot domain names of mobile application features to obtain hot domain name data; and / or, the domain name prediction model is used to perform prediction processing based on multi-dimensional prediction data to obtain predicted domain name data; and / or, the domain name prediction model is used to perform prediction processing based on elastic configuration data to obtain elastic domain name data.

[0217] In some embodiments, in response to determining that the domain name prediction model is not obtained, the feature prediction module 62 directly passes the original domain name request data to the resolution module 63, uses the resolution model to resolve the original domain name request data to obtain the original domain name resolution result, and feeds back the original domain name resolution result to the terminal.

[0218] In some embodiments, the resolution module 63 is further configured to respectively resolve the original domain name request data and the pushed domain name data to obtain an original domain name resolution result and a predicted domain name resolution result, and feed the original domain name resolution result and the predicted domain name resolution result back to the terminal.

[0219] In some embodiments, the apparatus further comprises a model generation module, the model generation module comprising:

[0220] A training sample determination unit is configured to obtain a plurality of historical domain name request data from the historical data, and determine a training sample set according to the plurality of historical domain name request data, wherein the training sample set includes a plurality of training samples;

[0221] A model building unit, configured to build a neural network model;

[0222] A training unit is configured to input each training sample in the training sample set into the neural network model for training to obtain an initial domain name prediction model;

[0223] The rule adding unit is configured to add prediction rules to the initial domain name prediction model to obtain a domain name prediction model, wherein the prediction rules are pre-obtained rule algorithms that can be parsed according to the characteristics of the domain name request.

[0224] In some embodiments, the training sample determination unit includes:

[0225] an acquisition unit configured to acquire a plurality of historical domain name request data from the historical data, and filter a predetermined range of historical domain name request data from the plurality of historical domain name request data as a candidate set;

[0226] A feature vector construction unit is configured to construct a feature vector at each time point according to the historical domain name request data corresponding to each time point in the candidate set;

[0227] The sample construction unit is configured to establish multiple matrix data according to the feature vectors of each time point, and use each matrix data as a training sample to construct a training sample set, wherein the matrix data includes the feature vector of at least one continuous time point.

[0228] In some embodiments, the acquisition unit is further configured to:

[0229] A predetermined number of candidate sets and a first predetermined time period are set; historical domain name request data within the first predetermined time period are selected from a plurality of historical domain name request data in the acquired historical moments; a predetermined number of historical domain name request data are selected from the historical domain name request data within the first predetermined time period, and a virtual domain name is added at the end of the predetermined number of historical domain name request data to generate the candidate set.

[0230] In some embodiments, the feature vector construction unit is further configured to:

[0231] The historical domain name request data in the candidate set is filtered to obtain a filtered candidate set; the filtered historical domain name request data within a second predetermined time period is selected from the filtered candidate set as a sample unit, and feature data of the sample unit is determined; and feature vectors corresponding to each time point are constructed based on the feature data of the sample unit.

[0232] In some embodiments, the model building unit is further configured to:

[0233] Determine a conversion neural network structure with a logarithmic sparsity mechanism; and construct the neural network model by combining the conversion neural network structure with a convolutional attention mechanism.

[0234] In some embodiments, the training unit includes:

[0235] an arrangement unit, configured to arrange the training samples in the training sample set in chronological order;

[0236] A training unit, configured to input the training samples into the neural network model in sequence according to the time sequence for training processing;

[0237] The model determination unit is configured to use the trained neural network model as an initial domain name prediction model in response to determining that the training sample set has been completely trained.

[0238] In some embodiments, the prediction rule includes at least one of the following:

[0239] The historical domain name request data is calculated according to a coarse-grained configuration algorithm for a time period greater than or equal to a predetermined time period to obtain a mobile application feature hotspot domain name;

[0240] The historical domain name request data is calculated in real time according to a fine-grained configuration algorithm to obtain multi-dimensional prediction data;

[0241] The received elastic configuration data set by the user.

[0242] In some embodiments, the model generation module further includes: an updating unit configured to:

[0243] The mobile application feature hotspot domain names and / or the multi-dimensional prediction data are periodically updated according to the same or different predetermined cycle times; the elastic configuration data is updated in real time according to the receiving time.

[0244] For the convenience of description, the above device is described in terms of functions divided into various modules. Of course, when implementing the present application, the functions of each module can be implemented in the same or multiple software and / or hardware.

[0245] The device of the above embodiment is used to implement the corresponding domain name resolution method in any of the above embodiments, and has the beneficial effects of the corresponding domain name resolution method embodiment, which will not be described in detail here.

[0246] Based on the same technical concept, corresponding to the domain name resolution result storage method of any of the above embodiments, a domain name resolution result storage device is proposed, referring to Figure 7 As shown, including:

[0247] The request sending module 71 is configured to generate original domain name request data, and send the original domain name request data to the server, so that the server can parse the original domain name request data to obtain a parsing result;

[0248] The analysis result receiving module 72 is configured to receive the analysis result fed back by the server;

[0249] The storage module 73 is configured to save the original domain name resolution result to the database in response to determining that the resolution result includes the original domain name resolution result; in response to determining that the resolution result includes the predicted domain name resolution result and the resolution result stored in the database meets a predetermined condition, save the predicted domain name resolution result to the database.

[0250] In some embodiments, the predetermined condition includes at least one of the following:

[0251] In response to determining that no parsing result is stored in the database and a storage amount of the database is less than or equal to a predetermined storage threshold;

[0252] In response to determining that the existence time of the parsing results stored in the database is less than a predetermined time threshold, and the storage capacity of the database is less than or equal to a predetermined storage threshold.

[0253] For the convenience of description, the above device is described in terms of functions divided into various modules. Of course, when implementing the present application, the functions of each module can be implemented in the same or multiple software and / or hardware.

[0254] The device of the above embodiment is used to implement the corresponding domain name resolution result storage method in any of the above embodiments, and has the beneficial effects of the corresponding domain name resolution result storage method embodiment, which will not be repeated here.

[0255] Based on the same technical concept, corresponding to the method of any of the above embodiments, the present application also provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the method described in any of the above embodiments when executing the program.

[0256] Figure 8 A more specific schematic diagram of the hardware structure of an electronic device provided in this embodiment is shown, and the device may include: a processor 810, a memory 820, an input / output interface 830, a communication interface 840, and a bus 850. The processor 810, the memory 820, the input / output interface 830, and the communication interface 840 are connected to each other in communication within the device through the bus 850.

[0257] The processor 810 can be implemented by a general-purpose CPU (Central Processing Unit), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits, and is used to execute relevant programs to implement the technical solutions provided in the embodiments of this specification.

[0258] The memory 820 may be implemented in the form of ROM (Read Only Memory), RAM (Random Access Memory), static storage device, dynamic storage device, etc. The memory 820 may store an operating system and other application programs. When the technical solutions provided in the embodiments of this specification are implemented by software or firmware, the relevant program codes are stored in the memory 820 and are called and executed by the processor 810.

[0259] The input / output interface 830 is used to connect the input / output module to realize information input and output. The input / output module can be configured as a component in the device (not shown in the figure), or it can be externally connected to the device to provide corresponding functions. The input device may include a keyboard, a mouse, a touch screen, a microphone, various sensors, etc., and the output device may include a display, a speaker, a vibrator, an indicator light, etc.

[0260] The communication interface 840 is used to connect a communication module (not shown) to realize communication interaction between the device and other devices. The communication module can realize communication through a wired mode (such as USB, network cable, etc.) or a wireless mode (such as mobile network, WIFI, Bluetooth, etc.).

[0261] The bus 850 comprises a pathway that transmits information between the various components of the device (eg, the processor 810, the memory 820, the input / output interface 830, and the communication interface 840).

[0262] It should be noted that, although the above device only shows the processor 810, the memory 820, the input / output interface 830, the communication interface 840 and the bus 850, in the specific implementation process, the device may also include other components necessary for normal operation. In addition, it can be understood by those skilled in the art that the above device may also only include the components necessary for implementing the embodiments of the present specification, and does not necessarily include all the components shown in the figure.

[0263] The electronic device of the above embodiment is used to implement the corresponding method in any of the above embodiments, and has the beneficial effects of the corresponding method embodiment, which will not be described in detail here.

[0264] Based on the same technical concept, corresponding to any of the above-mentioned embodiments, the present application also provides a non-transitory computer-readable storage medium, wherein the non-transitory computer-readable storage medium stores computer instructions, and the computer instructions are used to enable the computer to execute the method described in any of the above embodiments.

[0265] The computer-readable medium of this embodiment includes permanent and non-permanent, removable and non-removable media, and information storage can be implemented by any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, read-only compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device.

[0266] The computer instructions stored in the storage medium of the above embodiments are used to enable the computer to execute the method described in any of the above embodiments, and have the beneficial effects of the corresponding method embodiments, which will not be repeated here.

[0267] Those skilled in the art should understand that the discussion of any of the above embodiments is merely illustrative and is not intended to imply that the scope of the present application (including the claims) is limited to these examples. In line with the concept of the present application, the technical features in the above embodiments or different embodiments may be combined, the steps may be implemented in any order, and there are many other variations of the different aspects of the embodiments of the present application as described above, which are not provided in detail for the sake of simplicity.

[0268] In addition, to simplify the description and discussion, and in order not to make the embodiments of the present application difficult to understand, the known power supply / ground connection with the integrated circuit (IC) chip and other components may or may not be shown in the provided drawings. In addition, the device can be shown in the form of a block diagram to avoid making the embodiments of the present application difficult to understand, and this also takes into account the fact that the details of the implementation of these block diagram devices are highly dependent on the platform to be implemented in the embodiments of the present application (that is, these details should be fully within the scope of understanding of those skilled in the art). In the case of elaborating specific details (e.g., circuits) to describe exemplary embodiments of the present application, it is obvious to those skilled in the art that the embodiments of the present application can be implemented without these specific details or when these specific details are changed. Therefore, these descriptions should be considered to be illustrative rather than restrictive.

[0269] Although the present application has been described in conjunction with specific embodiments of the present application, many replacements, modifications and variations of these embodiments will be apparent to those skilled in the art from the foregoing description. For example, other memory architectures (e.g., dynamic RAM (DRAM)) may use the embodiments discussed.

[0270] The embodiments of the present application are intended to cover all such substitutions, modifications and variations that fall within the broad scope of the appended claims. Therefore, any omissions, modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the embodiments of the present application should be included in the scope of protection of the present application.

Claims

1. A domain name resolution method, characterized in that: include: Receive the original domain name request data sent by the terminal; Inputting the original domain name request data into a domain name prediction model; Using the domain name prediction model to predict the original domain name request data based on prediction rules to obtain predicted domain name data at the next time point, wherein the prediction rules are pre-obtained rules that can be parsed according to the characteristics of the domain name request; Parsing the predicted domain name data to obtain a predicted domain name resolution result, and feeding back the predicted domain name resolution result to the terminal; The generation process of the domain name prediction model includes: Acquire multiple historical domain name request data from the historical data, and select historical domain name request data within a predetermined range from the multiple historical domain name request data as a candidate set; Constructing feature vectors at each time point according to the historical domain name request data corresponding to each time point in the candidate set; Establishing a plurality of matrix data according to the feature vectors at each time point, and using each matrix data as a training sample to construct a training sample set, wherein the matrix data includes a feature vector of at least one continuous time point; Build a neural network model; Inputting each training sample in the training sample set into the neural network model for training to obtain an initial domain name prediction model; Adding prediction rules to the initial domain name prediction model to obtain a domain name prediction model; The prediction rules include: The historical domain name request data is calculated according to a coarse-grained configuration algorithm for a time period greater than or equal to a predetermined time period to obtain a mobile application feature hotspot domain name; The historical domain name request data is calculated in real time according to a fine-grained configuration algorithm to obtain multi-dimensional prediction data; The received elastic configuration data set by the user.

2. The domain name resolution method according to claim 1, characterized in that: The process of using the domain name prediction model to perform prediction processing on the original domain name request data based on prediction rules to obtain predicted domain name data includes: Using the domain name prediction model to predict hot domain names based on mobile application features to obtain hot domain name data; and / or, Using the domain name prediction model to perform prediction processing based on multi-dimensional prediction data to obtain predicted domain name data; and / or, The domain name prediction model is used to perform prediction processing based on the elastic configuration data to obtain elastic domain name data.

3. The domain name resolution method according to claim 1, characterized in that: The step of parsing the predicted domain name data to obtain a predicted domain name resolution result, and feeding back the predicted domain name resolution result to the terminal includes: The original domain name request data and the predicted domain name data are respectively parsed to obtain an original domain name resolution result and a predicted domain name resolution result, and the original domain name resolution result and the predicted domain name resolution result are fed back to the terminal.

4. The domain name resolution method according to claim 1, characterized in that: Also includes: In response to determining that the domain name prediction model is not obtained, the original domain name request data is directly parsed to obtain an original domain name resolution result, and the original domain name resolution result is fed back to the terminal.

5. The domain name resolution method according to claim 1, characterized in that: The step of acquiring a plurality of historical domain name request data at a historical moment and selecting a predetermined range of historical domain name request data from the plurality of historical domain name request data as a candidate set includes: Setting a predetermined number of candidate sets and a first predetermined time period; Selecting historical domain name request data within a first predetermined time period from the plurality of historical domain name request data acquired at the historical moment; A predetermined number of historical domain name request data are selected from the historical domain name request data within a first predetermined time period, and a virtual domain name is added to the end of the predetermined number of historical domain name request data to generate the candidate set.

6. The domain name resolution method according to claim 1, characterized in that: The constructing of feature vectors at each time point according to the historical domain name request data corresponding to each time point in the candidate set includes: Filter the historical domain name request data in the candidate set to obtain a filtered candidate set; Selecting the filtered historical domain name request data within a second predetermined time period from the filtered candidate set as a sample unit, and determining feature data of the sample unit; According to the characteristic data of the sample unit, a characteristic vector corresponding to each time point is constructed.

7. The domain name resolution method according to claim 1, characterized in that: The construction of the neural network model includes: Determine the architecture of the transformation neural network with logarithmic sparsity mechanism; The neural network model is constructed by combining the conversion neural network structure with the convolutional attention mechanism.

8. The domain name resolution method according to claim 1, characterized in that: The step of inputting each training sample in the training sample set into the neural network model for training to obtain an initial domain name prediction model includes: The training samples in the training sample set are arranged in chronological order; Inputting the training samples into the neural network model in sequence according to the time sequence for training processing; In response to determining that the training sample set is completely trained, the trained neural network model is used as an initial domain name prediction model.

9. The domain name resolution method according to claim 1, characterized in that: The mobile application feature hotspot domain name, and / or the multi-dimensional prediction data, can be periodically updated according to the same or different predetermined cycle times; The elastic configuration data can be updated in real time according to the receiving time.

10. A method for storing domain name resolution results, characterized in that: include: Generate original domain name request data, and send the original domain name request data to the server, so that the server can parse the original domain name request data to obtain a parsing result; Receive the parsing results fed back by the server; In response to determining that the resolution result includes the original domain name resolution result, saving the original domain name resolution result to a database; In response to determining that the resolution result includes a predicted domain name resolution result, and the resolution result stored in the database meets a predetermined condition, the predicted domain name resolution result is saved in the database, wherein the predicted domain name resolution result is the predicted domain name resolution result at the next time point obtained by the domain name resolution method of claims 1 to 9.

11. The method for storing domain name resolution results according to claim 10, characterized in that: The predetermined condition includes at least one of the following: In response to determining that no parsing result is stored in the database and a storage amount of the database is less than or equal to a predetermined storage threshold; In response to determining that the existence time of the parsing results stored in the database is less than a predetermined time threshold, and the storage capacity of the database is less than or equal to a predetermined storage threshold.

12. A domain name resolution device, characterized in that: include: A request receiving module, configured to receive original domain name request data sent by a terminal; The feature prediction module is configured to input the original domain name request data into a domain name prediction model; use the domain name prediction model to predict the original domain name request data based on prediction rules to obtain predicted domain name data at a next time point, wherein the prediction rules are pre-obtained rules that can be parsed according to the characteristics of the domain name request; A parsing module is configured to parse the predicted domain name data to obtain a predicted domain name parsing result, and feed the predicted domain name parsing result back to the terminal; The device also includes a model generation module, which includes: A training sample determination unit is configured to obtain a plurality of historical domain name request data from the historical data, and determine a training sample set according to the plurality of historical domain name request data, wherein the training sample set includes a plurality of training samples, and each training sample includes timestamp information; A model building unit, configured to build a neural network model; A training unit is configured to input each training sample in the training sample set into the neural network model for training to obtain an initial domain name prediction model; A rule adding unit, configured to add prediction rules to the initial domain name prediction model to obtain a domain name prediction model; The prediction rules include: The historical domain name request data is calculated according to a coarse-grained configuration algorithm for a time period greater than or equal to a predetermined time period to obtain a mobile application feature hotspot domain name; The historical domain name request data is calculated in real time according to a fine-grained configuration algorithm to obtain multi-dimensional prediction data; The received elastic configuration data set by the user; The training sample determination unit includes: an acquisition unit configured to acquire a plurality of historical domain name request data from the historical data, and filter a predetermined range of historical domain name request data from the plurality of historical domain name request data as a candidate set; A feature vector construction unit is configured to construct a feature vector at each time point according to the historical domain name request data corresponding to each time point in the candidate set; The sample construction unit is configured to establish multiple matrix data according to the feature vectors of each time point, and use each matrix data as a training sample to construct a training sample set, wherein the matrix data includes the feature vector of at least one continuous time point.

13. A domain name resolution result storage device, characterized in that: include: The request sending module is configured to generate original domain name request data and send the original domain name request data to the server, so that the server can parse the original domain name request data to obtain a parsing result; The parsing result receiving module is configured to receive the parsing result fed back by the server; A storage module, configured to save the original domain name resolution result to a database in response to determining that the resolution result includes the original domain name resolution result; In response to determining that the resolution result includes a predicted domain name resolution result, and the resolution result stored in the database meets a predetermined condition, the predicted domain name resolution result is saved in the database, wherein the predicted domain name resolution result is the predicted domain name resolution result obtained by the domain name resolution method of claims 1 to 9.

14. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the program, the method according to any one of claims 1 to 11 is implemented.

15. A non-transitory computer-readable storage medium storing computer instructions, characterized in that: The computer instructions are used to make a computer execute the method according to any one of claims 1 to 11.

Citation Information

Patent Citations

  • DNS query method and device based on domain name association degree, medium and electronic device

    CN110138599A

  • DNS cache recommendation method based on collaborative filtering

    CN112751948A

  • System for correlation of domain names

    US20160065534A1