Domain name resolution method and apparatus and electronic device
By deploying a DNS cache server in the satellite network and determining the target satellite to process DNS query requests based on the geographical location and operating trajectory information, the problem of DNS query delay in the satellite network is solved, and faster query response and resource optimization are achieved.
Patent Information
- Application Number
- PCT/CN2024/131659
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-01-19
- Filing Date
- 2024-11-12
- Publication Date
- 2025-07-24
AI Technical Summary
In a satellite network environment, DNS query requests need to be forwarded to ground sites for processing, resulting in increased transmission delays between stars and satellites, affecting the speed of terminal access to the network, and increasing the burden on satellite-borne equipment.
Deploy DNS cache servers in the satellite network, determine the target satellite based on the terminal's geographical location information and the operating trajectory information of the candidate satellite, and forward the DNS query request to the target satellite for processing, and optimize resource allocation based on the inter-satellite link status and DNS cache server performance evaluation information.
It significantly reduces the satellite-ground transmission delay required for DNS query, reduces query delay, and optimizes the resource allocation and load balancing of the satellite network, improving the access speed and equipment processing capabilities of the terminal.
Smart Images

Figure CN2024131659_24072025_PF_FP_ABST
Abstract
Description
Domain name resolution method, device and electronic device
[0001] This application claims priority to the Chinese patent application filed with the China Patent Office on January 19, 2024, with application number 202410081945.4 and application name “A domain name resolution method, device and electronic device”, the entire contents of which are incorporated by reference into this application. Technical Field
[0002] The present application relates to the field of satellite communication technology, and in particular to a domain name resolution method, device and electronic equipment. Background Art
[0003] The Domain Name System (DNS) is a key infrastructure of the Internet, mainly responsible for converting domain names and IP (Internet Protocol) addresses into each other. This process is called DNS resolution.
[0004] In addition, DNS also undertakes many key functions such as load balancing, failover, and email service positioning, and plays a vital role in ensuring the normal operation of the Internet.
[0005] In the current satellite network architecture, DNS servers are deployed at ground sites, and DNS query requests need to be forwarded to ground sites for processing. In a satellite network environment, the long transmission delays between satellites and satellite-to-ground links result in slow DNS request response times. Frequent domain name resolution also places a heavy processing burden on onboard equipment.
[0006] Summary of the Invention
[0007] The purpose of the embodiments of the present application is to provide a domain name resolution method, apparatus, and electronic device that eliminates the need to send DNS query requests to a ground station via a satellite-to-ground link, significantly reducing the satellite-to-ground transmission delay required for DNS queries and thereby reducing query latency. The specific technical solution is as follows:
[0008] In a first aspect, an embodiment of the present application provides a domain name resolution method, the method comprising:
[0009] In response to a DNS query request initiated by a receiving terminal, determining a target satellite based on the geographical location information of the terminal and the trajectory information of a candidate satellite; the candidate satellite is a satellite deployed with a DNS cache server;
[0010] The DNS query request is forwarded to the target satellite, so that the target satellite processes the DNS query request according to the deployed DNS cache server.
[0011] Optionally, determining the target satellite according to the geographical location information of the terminal and the trajectory information of the candidate satellite includes:
[0012] The target satellite is determined according to the geographical location information of the terminal, the operation trajectory information of the candidate satellite, the inter-satellite link status information and / or the performance evaluation information of the onboard DNS cache server of the candidate satellite.
[0013] Optionally, after determining a target satellite for the terminal, all DNS query requests initiated by the terminal are forwarded to the target satellite within a preset validity period;
[0014] In response to a DNS query request initiated by the terminal outside the validity period, the step of determining the target satellite according to the geographical location information of the terminal and the operation trajectory information of the candidate satellite is re-executed.
[0015] Optionally, the DNS records in the DNS cache server of the candidate satellite are periodically updated by accessing a ground DNS server; wherein the update frequency is dynamically adjusted according to intersatellite link status information and / or the relative position of the candidate satellite and the ground DNS server.
[0016] Optionally, the DNS cache server of the candidate satellite stores a DNS record for querying a network domain name related to the predicted event.
[0017] Optionally, the method further includes:
[0018] Obtaining behavioral pattern data of the terminal, and obtaining a predicted DNS query request based on the behavioral pattern data and a pre-trained machine learning model; the behavioral pattern data includes one or more of the following: geographic location, frequency of initiating DNS query requests, device type, network status, DNS query type, and predicted time period; the machine learning model is trained based on pre-collected training data; the training data includes historical behavioral pattern data and historical DNS query requests;
[0019] According to the DNS prediction query request, the corresponding DNS prediction query result is obtained and cached.
[0020] Optionally, the method further includes:
[0021] In response to the terminal initiating a query request that is the same as the DNS prediction query request, a DNS prediction query result corresponding to the DNS prediction query request is sent to the terminal.
[0022] In a second aspect, an embodiment of the present application provides a domain name resolution device, the device comprising:
[0023] a determination module, configured to determine, in response to a DNS query request initiated by a receiving terminal, a target satellite based on the geographical location information of the terminal and the trajectory information of a candidate satellite; the candidate satellite being a satellite on which a DNS cache server is deployed;
[0024] The forwarding module is used to forward the DNS query request to the target satellite, so that the target satellite processes the DNS query request according to the deployed DNS cache server.
[0025] Optionally, the determining module is specifically configured to:
[0026] The target satellite is determined according to the geographical location information of the terminal, the operation trajectory information of the candidate satellite, the inter-satellite link status information and / or the performance evaluation information of the onboard DNS cache server of the candidate satellite.
[0027] Optionally, the forwarding module is further configured to:
[0028] After determining the target satellite for the terminal, all DNS query requests initiated by the terminal are forwarded to the target satellite within a preset validity period;
[0029] The determining module is triggered in response to a DNS query request initiated by the terminal outside the validity period.
[0030] Optionally, the DNS records in the DNS cache server of the candidate satellite are periodically updated by accessing a ground DNS server; wherein the update frequency is dynamically adjusted according to intersatellite link status information and / or the relative position of the candidate satellite and the ground DNS server.
[0031] Optionally, the DNS cache server of the candidate satellite stores a DNS record for querying a network domain name related to the predicted event.
[0032] Optionally, the device further includes:
[0033] a prediction module configured to obtain behavioral pattern data of the terminal and obtain a predicted DNS query request based on the behavioral pattern data and a pre-trained machine learning model; the behavioral pattern data including one or more of the following: geographic location, frequency of initiating DNS query requests, device type, network status, DNS query type, and predicted time period; the machine learning model is trained based on pre-collected training data; the training data including historical behavioral pattern data and historical DNS query requests;
[0034] The cache module is used to obtain and cache the corresponding DNS prediction query results according to the DNS prediction query request.
[0035] In a third aspect, an embodiment of the present application further provides an electronic device, comprising a processor, a communication interface, a memory, and a communication bus, wherein the processor, the communication interface, and the memory communicate with each other via the communication bus;
[0036] Memory for storing computer programs;
[0037] The processor is configured to implement any of the above-mentioned domain name resolution method steps when executing the program stored in the memory.
[0038] In a fourth aspect, an embodiment of the present application further provides a computer program product comprising instructions, which, when executed on a computer, enables the computer to execute any of the above-mentioned domain name resolution method steps.
[0039] In a fifth aspect, an embodiment of the present application further provides a computer program, comprising: program code, and when a computer runs the computer program, the program code executes any of the above-mentioned domain name resolution method steps.
[0040] Beneficial effects of the embodiments of the present application:
[0041] The domain name resolution method, device, and electronic device provided in the embodiments of the present application respond to a DNS query request initiated by a receiving terminal, determine a target satellite based on the terminal's geographical location information and the operating trajectory information of a candidate satellite; the candidate satellite is a satellite deployed with a DNS cache server; forward the DNS query request to the target satellite, so that the target satellite processes the DNS query request according to the deployed DNS cache server. As a result, there is no need to send the DNS query request to the ground station via a satellite-to-ground link, significantly reducing the satellite-to-ground transmission delay required for the DNS query, thereby reducing the query delay. In addition, combined with the operating trajectory information of the candidate satellite, the terminal determines a target satellite suitable for processing the DNS query request, further reducing the delay in forwarding the DNS query request and feeding back the DNS query result.
[0042] Of course, it is not necessary to achieve all the advantages described above at the same time when implementing any product or method of the present application. BRIEF DESCRIPTION OF THE DRAWINGS
[0043] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other embodiments can also be obtained based on these drawings.
[0044] FIG1 is a flow chart of a domain name resolution method according to an embodiment of the present application;
[0045] FIG2 is another flowchart of a domain name resolution method according to an embodiment of the present application;
[0046] FIG3 is a schematic diagram of a process for predicting a DNS query request according to an embodiment of the present application;
[0047] FIG4 is a schematic diagram of the structure of a domain name resolution device provided in an embodiment of the present application;
[0048] FIG5 is a schematic structural diagram of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0049] The following will be combined with the drawings in the embodiments of this application to clearly and completely describe the technical solutions in the embodiments of this application. Obviously, the embodiments described are only part of the embodiments of this application, not all of the embodiments. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field based on this application are within the scope of protection of this application.
[0050] For ease of understanding, the application scenarios of this application are briefly described below.
[0051] DNS (Domain Name System) is a core service on the Internet. It can be understood as a distributed database used to map domain names to IP (Internet Protocol) addresses. It can translate simple and clear domain names into IP addresses that can be recognized by computers, allowing terminals to access the Internet quickly and conveniently.
[0052] In satellite communications, satellites are used to carry all or part of the access network, and terminals access the Internet through satellites.
[0053] To achieve compatibility with ground-based networks, current satellite network systems typically use a hierarchical tree structure and hierarchical authorization mechanism similar to ground-based DNS systems to implement domain name-to-IP address mapping and hierarchical management. To access the network, a terminal must send a DNS query request to the satellite to find the IP address corresponding to the domain name. Currently, DNS servers are deployed at ground sites, so the satellite must forward DNS query requests to the ground site for processing.
[0054] However, in satellite networks, the transmission delays between satellites and satellite-to-ground links are significant, resulting in slow response times for DNS query requests, impacting terminal access speeds. Furthermore, frequent domain name resolution consumes satellite network resources and places a heavy burden on onboard equipment.
[0055] In summary, existing DNS technologies are primarily designed for terrestrial network environments and fail to account for the periodic changes in satellite network topology, frequent link switching, dynamic topology changes, and significant transmission latency. Directly introducing these terrestrial DNS solutions into satellite networks would result in significant satellite-to-ground and inter-satellite link communication delays and network congestion, potentially even overloading onboard equipment, severely impacting satellite network operational efficiency.
[0056] In order to solve the above technical problems, an embodiment of the present application provides a domain name resolution method. Referring to FIG1 , FIG1 is a flow chart of a domain name resolution method provided by an embodiment of the present application. As shown in FIG1 , the method may include the following steps:
[0057] S101: In response to a DNS query request initiated by a receiving terminal, a target satellite is determined according to the terminal's geographical location information and the trajectory information of candidate satellites; the candidate satellite is a satellite deployed with a DNS cache server.
[0058] The domain name resolution method provided in the embodiment of the present application can be applied to non-ground network node devices in satellite network communications, such as satellites, spacecraft, etc. Taking a satellite as an example, the satellite includes communication equipment for carrying all or part of the access network.
[0059] In an embodiment of the present application, the terminal may be a communication device that needs to access the Internet via satellite in satellite network communication. The embodiment of the present application does not limit the type of terminal.
[0060] It is worth noting that, in this embodiment, the terminal has completed random access, that is, this method can be applied to the terminal's access satellite. The following description will be made using the example of the execution subject being the access satellite.
[0061] In satellite network communications, the terminal needs to send a DNS query request to the access satellite. This request is used to query the IP address corresponding to a specific domain name.
[0062] In the embodiment of the present application, a DNS cache server is pre-deployed on satellites in a satellite network. Specifically, a DNS cache server can be deployed on some satellites in the satellite network, or on all satellites in the satellite network. Satellites with DNS cache servers deployed are candidate satellites.
[0063] The access satellite receives the DNS query request initiated by the terminal and determines the target satellite for the terminal based on the terminal's geographical location information and the trajectory information of the candidate satellites. The target satellite is the satellite that actually processes the DNS query request.
[0064] The embodiment does not limit the method for obtaining the geographical location information of the terminal. For example, the DNS query request initiated by the terminal can carry the geographical location information of the terminal, or the geographical location of the terminal can be located using IP address positioning technology based on the IP address of the terminal.
[0065] Those skilled in the art will appreciate that in a satellite network environment, satellites operate along pre-set orbits, and therefore the orbital position of the satellite at each moment can be obtained in real time. For example, the orbital information may be ephemeris information, which is used to determine the satellite's position at each moment.
[0066] In this embodiment, the candidate satellite is a satellite deployed with a DNS cache server. Therefore, according to the geographical location information of the terminal and the trajectory information of the candidate satellite, the satellite most suitable for processing the DNS query request of the terminal can be determined.
[0067] As an example, based on the relative positions between the terminal and the candidate satellites, the candidate satellite closest to the terminal is determined as the target satellite.
[0068] S102: Forward the DNS query request to the target satellite, so that the target satellite processes the DNS query request according to the deployed DNS cache server.
[0069] In this embodiment, the target satellite is the satellite that actually processes the DNS query request. The access satellite forwards the DNS query request to the target satellite. Since the target satellite has a pre-deployed DNS cache server, the DNS query request can be processed by the deployed DNS cache server. After the processing is completed, the processing result is fed back to the access satellite.
[0070] As an example, the target satellite queries the cache in the DNS cache server, determines the IP address mapped to the domain name in the DNS query request, and feeds the queried IP address back to the access satellite, which can then use the IP address to access the Internet.
[0071] It can be seen that in this embodiment, a DNS cache server is pre-deployed on the candidate satellite. After the terminal completes access, the access satellite responds to the DNS query request initiated by the terminal, combines the terminal's geographic location information and the candidate satellite's trajectory information, determines the target satellite suitable for processing the DNS query request, and forwards the DNS query request to it. The target satellite processes the DNS query request based on the deployed DNS cache server. As a result, there is no need to send the DNS query request to the ground station via the satellite-to-ground link, significantly reducing the satellite-to-ground transmission delay required for the DNS query, thereby reducing the query delay. In addition, combined with the candidate satellite's trajectory information, the target satellite suitable for processing the DNS query request is determined for the terminal, further reducing the delay in forwarding the DNS query request and feeding back the DNS query result.
[0072] In one embodiment of the present application, the target satellite is determined based on the geographical location information of the terminal and the trajectory information of the candidate satellite, specifically: the target satellite is determined based on the geographical location information of the terminal, the trajectory information of the candidate satellite, the inter-satellite link status information and / or the performance evaluation information of the onboard DNS cache server of the candidate satellite.
[0073] In this embodiment, in addition to considering the geographical location information of the terminal and the trajectory information of the candidate satellite, the target satellite can also be determined for the terminal in combination with the inter-satellite link status information and / or the performance evaluation information of the onboard DNS cache server of the candidate satellite.
[0074] Specifically, in this embodiment, the existing operation and control system can be reused or called to detect inter-satellite link status information, and the status information of each satellite link can be obtained in real time and accurately, including but not limited to link delay, packet loss rate, bandwidth usage, etc.
[0075] In addition, the performance of the onboard DNS cache server of each candidate satellite can be evaluated in real time. For example, data such as the processing power, bandwidth, and number of connections of the onboard DNS cache server can be obtained, and the current load capacity can be analyzed based on these data. The current load capacity can be used as an evaluation indicator to characterize the performance of the onboard DNS cache server.
[0076] In this embodiment, the target satellite may be determined for the terminal by comprehensively considering the geographical location information of the terminal, the trajectory information of the candidate satellites, and the intersatellite link status information and / or the performance evaluation information of the onboard DNS cache server of the candidate satellites.
[0077] For example, by combining the terminal's geographic location information and the candidate satellite's trajectory information, the distance between the terminal and each candidate satellite can be assessed. Based on intersatellite link status information, the link delay between the access satellite and each candidate satellite can be estimated. Based on the performance evaluation information of the candidate satellite's onboard DNS cache server, the candidate satellite with the lowest current load can be determined. Furthermore, by comprehensively considering these multiple factors, for example, by assigning corresponding weights to each of these factors, the terminal can select a candidate satellite with both the lowest link transmission delay and the lowest load as the target satellite for processing the DNS query request.
[0078] It can be seen that in this embodiment, in a satellite network environment, the optimal DNS cache server can be actively recommended to the terminal based on the real-time status of the satellite link, the user's geographic location information, and the performance evaluation information of the DNS cache server, thereby optimizing resource allocation and load balancing in the satellite network.
[0079] In one embodiment of the present application, after the terminal determines the target satellite, all DNS query requests initiated by the terminal are forwarded to the target satellite within a preset validity period; in response to a DNS query request initiated by the terminal outside the validity period, the step of determining the target satellite based on the terminal's geographic location information and the candidate satellite's trajectory information is re-executed.
[0080] Specifically, in a satellite network environment, the positions of candidate satellites, intersatellite link status information, and DNS cache server performance evaluation information will change over time. Even the terminal's geographic location information may change. Therefore, the target satellite determined for the terminal is only valid within a preset validity period. During the validity period, all DNS query requests initiated by the terminal are forwarded to the target satellite. If a DNS query request is received from the terminal outside the validity period, a new target satellite needs to be re-determined based on the updated terminal's geographic location information, the position of the candidate satellite, the intersatellite link status information, and / or the performance evaluation information of the candidate satellite's onboard DNS cache server.
[0081] As can be seen, this implementation takes into account the dynamic and time-varying network topology and link status in satellite networks. A real-time update method is used to update recommendation results. Specifically, a dynamic update mechanism is implemented, with a validity period set for each target satellite. When the validity period expires, a new recommendation must be obtained. This ensures that the terminal always receives optimal service quality.
[0082] In one embodiment of the present application, the DNS records in the DNS cache server of the candidate satellite are periodically updated by accessing the ground DNS server; wherein the update frequency is dynamically adjusted according to the inter-satellite link status information and / or the relative position of the candidate satellite and the ground DNS server.
[0083] DNS records can be understood as the correspondence between network domain names and IP addresses. However, websites may change servers or other related information, so DNS records must be updated promptly to ensure normal user access. In this embodiment, satellites equipped with DNS cache servers need to periodically access ground-based DNS servers to update DNS records.
[0084] The updating frequency may be determined according to the intersatellite link status information and / or the relative position between the candidate satellite and the ground DNS server.
[0085] As an example, if the inter-satellite link status information indicates that the link currently accessing the terrestrial DNS server is congested, the frequency of updating the DNS record is reduced.
[0086] As another example, as the candidate satellite continuously moves along its orbit, the relative position of the candidate satellite and the ground DNS server changes. When the distance is far, the frequency of updating the DNS record can be reduced; when the distance is close, the frequency of updating the DNS record can be increased.
[0087] As can be seen, in this embodiment, considering the timeliness of DNS records, each satellite equipped with a DNS cache server periodically accesses the ground DNS server to update DNS records, ensuring that terminals obtain the correct IP address. Furthermore, considering the characteristics of satellite communication networks, the frequency of DNS record updates is dynamically adjusted based on inter-satellite link status information and the relative position of the satellite and ground station, thereby minimizing the impact of DNS record updates on inter-satellite communications.
[0088] In addition, in the embodiment of the present application, each satellite with a DNS cache server can be configured with an intelligent cache management mechanism, that is, based on the least recently used strategy
[0089] Each onboard DNS node is equipped with an intelligent cache management mechanism that manages cached DNS records based on an LRU (Least Recently Used) strategy, ensuring that the most frequently used or recently used DNS records are kept in the cache while removing less frequently used records from the cache.
[0090] Furthermore, to improve system reliability, data redundancy is implemented within the satellite network. This means that each DNS record can be stored across multiple satellite nodes. Even if one satellite's DNS cache server fails, the DNS cache servers on other satellites can still provide improved service. Given the importance of DNS services, technologies such as DNSSEC (DNS Security Extensions) can be employed to protect the integrity and authenticity of DNS records, preventing attacks like DNS spoofing and cache poisoning. Furthermore, regular security audits and penetration testing can be conducted to identify and address potential security vulnerabilities.
[0091] For the DNS records distributed and stored in the DNS cache servers of different satellites, a coordination mechanism such as the Raft protocol is adopted to ensure the consistency of the same DNS record in different DNS cache servers in a distributed environment.
[0092] In one embodiment of the present application, the DNS cache server of the candidate satellite stores a DNS record for querying a network domain name related to the predicted event.
[0093] In this embodiment, for predicted events, pre-processing measures can be implemented to extract and push relevant DNS records to the onboard DNS cache. For example, if a large-scale sports event is predicted to take place on XX / XX / XX, the network domain name associated with the event is determined, and the corresponding DNS records are retrieved and stored in the onboard DNS cache before XX / XX / XX. This ensures that DNS queries can be quickly responded to during the event.
[0094] It can be seen that in this embodiment, for predictable large-traffic events, relevant DNS records are obtained in advance and cached in the onboard DNS cache in advance, which can further reduce the delay in responding to DNS query requests.
[0095] In one embodiment of the present application, referring to FIG2 , another flowchart of a domain name resolution method is provided. Based on the method in FIG1 , the following steps may also be included:
[0096] S201: Obtain behavioral pattern data of the terminal, and obtain a DNS prediction query request based on the behavioral pattern data and a pre-trained machine learning model; the behavioral pattern includes one or more of the following: geographic location, frequency of initiating DNS query requests, device type, network status, DNS query type, and prediction time period; the machine learning model is trained based on pre-collected training data, and the training data includes: historical behavioral pattern data and historical DNS query requests.
[0097] S202: According to the DNS prediction query request, obtain and cache the corresponding DNS prediction query result.
[0098] In this implementation, users' DNS query requests and behavioral pattern data related to the DNS query requests are collected in advance as training data to train the machine learning model.
[0099] Specifically, the behavioral pattern data related to DNS query requests may include the following: 1) The geographical location of the terminal, where the geographical location can be a specific coordinate, such as longitude and latitude; it can also be the geographical area where the terminal is located. For example, the ground wave position covered by the access satellite is pre-divided into multiple areas, and the geographical location of the terminal is the area in the ground wave position where the terminal is located. 2) The frequency of the terminal initiating DNS query requests, such as counting the number of DNS query requests initiated by the terminal within a certain period of time and calculating the frequency of DNS query requests; 3) Device type, such as mobile terminal, PC (Personal Computer) terminal, etc. 4) Network type, that is, the network standard of the communication network, not limited to 4G network, 5G network, etc. 5) DNS query type, which can be divided according to the purpose of the DNS query, for example, the query purpose is to obtain an IP address or obtain an email server. 6) Prediction period. Among them, the granularity of the division of the prediction period can be predetermined, for example, one period per hour.
[0100] It's easy to understand that the behavioral pattern data in each of the above dimensions needs to be encoded to obtain feature vectors. When training a machine learning model, the collected historical behavioral pattern data also needs to be encoded.
[0101] The following example illustrates the process of collecting historical behavior pattern data and corresponding DNS query requests. For terminals within the ground beam covered by the access satellite, the behavior pattern data of each terminal initiating a DNS query request is counted. For example, terminal a initiates a DNS query request, and the DNS query request is used to query the IP address of the website domain name b. The following data can be counted: the geographical location of terminal a, that is, the area of the ground beam where the terminal is located, such as area 1; the frequency of terminal a initiating DNS query requests within a certain period of time, such as 2 / minute; the type of terminal a, such as a mobile terminal; the network type of terminal a, such as a 5G network; the DNS query type of terminal a, such as a type whose query purpose is to query the IP address; the query period of terminal a, that is, the period during which terminal a initiates the DNS query request, such as between 9 and 10 in the morning.
[0102] By converting the above behavioral pattern data into a behavioral pattern feature vector x and the website domain b associated with the DNS query request into a network domain feature vector y, we can establish a set of corresponding relationships, which is also a piece of training data. After performing extensive statistical analysis, we can generate a dataset containing a large amount of training data, which can be used to train a machine learning model.
[0103] In this embodiment, the process of collecting the above data requires user authorization. For example, an authorization request is sent to each connected terminal, and only the behavioral pattern data of the terminals that agree to the authorization request is collected. In addition, the collected data will be anonymized and stored and processed in accordance with strict data protection policies.
[0104] In this embodiment, the process of training a machine learning model based on a data set can be referred to in related art. Those skilled in the art will understand that a machine learning model is essentially a mapping relationship. In this embodiment, the behavior pattern feature vector is mapped to a network domain name feature vector.
[0105] The training process can be understood as using a machine learning algorithm to train the mapping relationship between the behavior pattern feature vector x and the network domain name feature vector y. This embodiment does not limit the machine learning algorithm used in the training process. For example, it can be linear regression, logistic regression, decision tree, artificial neural network, K-nearest neighbor, K-means, etc.
[0106] After the machine learning model is trained, the terminal's behavioral pattern data is input to obtain a predicted DNS query request, that is, the predicted network domain name that the terminal may query. The terminal's behavioral pattern data includes one or more of the following: geographic location, frequency of initiating DNS query requests, device type, network status, DNS query type, and predicted time period. The predicted time period is the time period for the desired prediction. For example, if the current time period is 8:00-9:00 am, the predicted time period can be the next time period after the current time period, that is, 9:00-10:00 am.
[0107] In this embodiment, after obtaining a predicted DNS query request (i.e., a predicted network domain name), the corresponding IP address can be queried in advance. The specific query process can be seen in the above embodiment. For example, the query request is forwarded to a satellite equipped with a DNS cache server. After obtaining the query result, it is stored in the cache of the current satellite, i.e., the satellite to which the terminal is connected.
[0108] Considering that pre-fetched results may become outdated, in this embodiment, a mechanism may be set up to update and maintain these results. For example, the latest results may be periodically obtained from the DNS server, or when a user issues an actual query request, the cached results may be compared with the real-time query results. If there is any inconsistency, the cached results may be updated.
[0109] For ease of understanding, referring to FIG3 , a flowchart of predicting a DNS query request is provided, as shown in FIG3 , including the following steps:
[0110] S301: Collect user query data and behavior patterns.
[0111] The specific data collected can be found above.
[0112] S302: Predict user query needs.
[0113] As described above, the user's DNS query request is predicted based on the trained machine learning model.
[0114] S303: Pre-fetch and cache query results.
[0115] According to the predicted DNS query request, the corresponding DNS record is extracted and cached.
[0116] S304: Update and maintain cache results.
[0117] Specifically, the latest results can be obtained from the DNS server regularly, or when the user issues a real query request, the cached results and the real-time query results are compared. If they are inconsistent, the cached results will be updated.
[0118] S305: Update the prediction model.
[0119] Because user behavior changes over time, user behavior models can be updated regularly. This can be achieved through online learning algorithms or by regularly retraining machine learning models with the latest data to ensure that predictions always accurately reflect users' latest behavior. Furthermore, the model's effectiveness can be regularly evaluated. If the model's predictive effectiveness deteriorates, the model can be adjusted or replaced with a new one.
[0120] After the prediction model is updated, the user query demand is re-predicted based on the updated prediction model, that is, the process returns to step S302.
[0121] It can be seen that in this embodiment, considering that there is a certain regularity between user behavior patterns and DNS query requests, behavior pattern data of various dimensions and corresponding DNS query requests are collected in advance, and machine learning algorithms are used to model and train the model, so as to predict the DNS query requests that may be initiated by the terminal, and the corresponding query results can be obtained in advance and cached.
[0122] In one embodiment of the present application, in response to a query request initiated by the terminal that is identical to the DNS prediction query request, a DNS prediction query result corresponding to the DNS prediction query request is sent to the terminal.
[0123] In this embodiment, after receiving the DNS query request initiated by the terminal, it is matched with the pre-cached DNS prediction query request. If they are the same, the corresponding query result is directly obtained.
[0124] As can be seen, in this embodiment, a machine learning model is used to predict DNS query requests that a terminal may initiate, and the corresponding query results are obtained and cached in advance. When a query request is actually received, the query results can be immediately retrieved from the cache and sent to the terminal. This significantly reduces the terminal's DNS query latency and improves the user experience.
[0125] FIG4 shows a schematic diagram of a domain name resolution device, including the following modules:
[0126] The determination module 401 is configured to determine a target satellite in response to a DNS query request initiated by a receiving terminal, based on the geographical location information of the terminal and the trajectory information of a candidate satellite; the candidate satellite is a satellite deployed with a DNS cache server;
[0127] The forwarding module 402 is configured to forward the DNS query request to the target satellite, so that the target satellite processes the DNS query request according to the deployed DNS cache server.
[0128] This eliminates the need to send DNS query requests to the ground station via a satellite-to-ground link, significantly reducing the satellite-to-ground transmission delay required for DNS queries and, in turn, lowering query latency. Furthermore, by combining the trajectory information of candidate satellites, the terminal can determine the target satellite suitable for processing DNS query requests, further reducing the delay in forwarding DNS query requests and feeding back DNS query results.
[0129] In one embodiment of the present application, the determination module is specifically configured to:
[0130] The target satellite is determined according to the geographical location information of the terminal, the operation trajectory information of the candidate satellite, the inter-satellite link status information and / or the performance evaluation information of the onboard DNS cache server of the candidate satellite.
[0131] In one embodiment of the present application, the forwarding module is further configured to:
[0132] After determining the target satellite for the terminal, all DNS query requests initiated by the terminal are forwarded to the target satellite within a preset validity period;
[0133] The determining module is triggered in response to a DNS query request initiated by the terminal outside the validity period.
[0134] In one embodiment of the present application, the DNS records in the DNS cache server of the candidate satellite are periodically updated by accessing a ground DNS server; wherein the update frequency is dynamically adjusted according to the intersatellite link status information and / or the relative position of the candidate satellite and the ground DNS server.
[0135] In one embodiment of the present application, the DNS cache server of the candidate satellite stores a DNS record for querying a network domain name related to the predicted event.
[0136] In one embodiment of the present application, based on the apparatus shown in FIG4 , the apparatus may further include:
[0137] a prediction module configured to obtain behavioral pattern data of the terminal and obtain a predicted DNS query request based on the behavioral pattern data and a pre-trained machine learning model; the behavioral pattern data including one or more of the following: geographic location, frequency of initiating DNS query requests, device type, network status, DNS query type, and predicted time period; the machine learning model is trained based on pre-collected training data; the training data including historical behavioral pattern data and historical DNS query requests;
[0138] The cache module is used to obtain and cache the corresponding DNS prediction query result according to the DNS prediction query request.
[0139] As can be seen, in this embodiment, considering the certain regularity between user behavior patterns and DNS query requests, behavioral pattern data of various dimensions and corresponding DNS query requests are collected in advance, and a machine learning algorithm is used to build a model and perform model training. This allows prediction of DNS query requests that may be initiated by the terminal, and enables the corresponding query results to be obtained and cached in advance. When the query request is actually received, the query result can be immediately retrieved from the cache and sent to the terminal. This significantly reduces the terminal's DNS query latency and improves the user experience.
[0140] The embodiment of the present application further provides an electronic device, as shown in FIG5 , including a processor 501, a communication interface 502, a memory 503, and a communication bus 504, wherein the processor 501, the communication interface 502, and the memory 503 communicate with each other via the communication bus 504.
[0141] Memory 503, used for storing computer programs;
[0142] The processor 501 is configured to execute the program stored in the memory 503 by performing the following steps:
[0143] In response to a DNS query request initiated by a receiving terminal, determining a target satellite based on the geographical location information of the terminal and the trajectory information of a candidate satellite; the candidate satellite is a satellite deployed with a DNS cache server;
[0144] The DNS query request is forwarded to the target satellite, so that the target satellite processes the DNS query request according to the deployed DNS cache server.
[0145] The communication bus mentioned in the electronic device mentioned above may be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus. This communication bus can be divided into an address bus, a data bus, a control bus, etc. For ease of illustration, only one thick line is used in the figure, but this does not mean that there is only one bus or only one type of bus.
[0146] The communication interface is used for communication between the above electronic device and other devices.
[0147] The memory may include random access memory (RAM) or non-volatile memory (NVM), such as at least one disk storage. Alternatively, the memory may be at least one storage device located away from the processor.
[0148] The above-mentioned processor can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it can also be a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, and discrete hardware components.
[0149] In another embodiment provided by the present application, a computer-readable storage medium is further provided, wherein a computer program is stored in the computer-readable storage medium. When the computer program is executed by a processor, the steps of any of the above-mentioned domain name resolution methods are implemented.
[0150] In another embodiment provided by the present application, a computer program product including instructions is also provided, which, when executed on a computer, enables the computer to execute any domain name resolution method in the above embodiments.
[0151] In another embodiment provided by the present application, a computer program is further provided, including: program code. When a computer runs the computer program, the program code executes any domain name resolution method in the above embodiments.
[0152] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When software is used for implementation, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from a website, computer, server or data center to another website, computer, server or data center via a wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) method. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more available media integrations. The available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state drive (SSD)).
[0153] It should be noted that, in this document, relational terms such as first and second, etc., are used only to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply the existence of any such actual relationship or order between these entities or operations. Moreover, the terms "comprises," "comprising," or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article, or device comprising a series of elements includes not only those elements, but also other elements not explicitly listed, or elements inherent to such process, method, article, or device. In the absence of further limitations, an element defined by the phrase "comprising a ..." does not exclude the presence of other identical elements in the process, method, article, or device comprising the element.
[0154] Each embodiment in this specification is described in a related manner. Similar portions between the various embodiments can be referenced to each other. Each embodiment focuses on the differences from other embodiments. In particular, the device, electronic device, and storage medium embodiments are generally similar to the method embodiments, so their descriptions are relatively simple. For related portions, reference can be made to the descriptions of the method embodiments.
[0155] The above description is only a preferred embodiment of the present application and is not intended to limit the scope of protection of the present application. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of the present application are included in the scope of protection of the present application.
Claims
1. A domain name resolution method, characterized in that, The method includes: In response to a Domain Name System (DNS) query request initiated by a receiving terminal, a target satellite is determined according to the geographical location information of the terminal and the operating trajectory information of candidate satellites; the candidate satellites are satellites equipped with DNS cache servers; Forward the DNS query request to the target satellite, so that the target satellite processes the DNS query request according to the deployed DNS cache server.
2. The method according to claim 1, wherein The determining the target satellite according to the geographical location information of the terminal and the operating trajectory information of candidate satellites includes: Determine the target satellite according to the geographical location information of the terminal, the operating trajectory information of the candidate satellites, inter-satellite link status information, and / or performance evaluation information of the on-board DNS cache server of the candidate satellites.
3. The method according to claim 1 or 2, wherein After determining the target satellite for the terminal, within a preset validity period, forward all DNS query requests initiated by the terminal to the target satellite; In response to a DNS query request initiated by the terminal outside the validity period, re-execute the step of determining the target satellite according to the geographical location information of the terminal and the operating trajectory information of candidate satellites.
4. The method according to any one of claims 1 to 3, wherein The DNS records in the DNS cache server of the candidate satellite are periodically updated by accessing a ground DNS server; wherein, the update frequency is dynamically adjusted according to the inter-satellite link status information and / or the relative position between the candidate satellite and the ground DNS server.
5. The method according to any one of claims 1 to 4, wherein The DNS cache server of the candidate satellite stores DNS records for querying network domain names related to predictable events.
6. The method according to any one of claims 1 to 5, characterized in that, The method further includes: Obtain the behavior pattern data of the terminal, and obtain a DNS prediction query request according to the behavior pattern data and a pre-trained machine learning model; the behavior pattern data includes one or more of the following: geographical location, frequency of initiating DNS query requests, device type, network status, DNS query type, prediction period; the machine learning model is trained according to pre-collected training data; the training data includes: historical behavior pattern data and historical DNS query requests; Obtain and cache the corresponding DNS prediction query result according to the DNS prediction query request.
7. The method according to claim 6, wherein The method further includes: In response to the terminal initiating a query request identical to the DNS prediction query request, send the DNS prediction query result corresponding to the DNS prediction query request to the terminal.
8. A domain name resolution device, characterized in that, The device includes: A determination module, configured to, in response to a DNS query request initiated by a receiving terminal, determine a target satellite according to the geographical location information of the terminal and the operating trajectory information of candidate satellites; the candidate satellites are satellites equipped with DNS cache servers; A forwarding module, configured to forward the DNS query request to the target satellite, so that the target satellite processes the DNS query request according to the deployed DNS cache server.
9. An electronic device, characterized in that, It includes a processor, a communication interface, a memory, and a communication bus. Among them, the processor, the communication interface, and the memory complete their mutual communication through the communication bus; The memory is used for storing computer programs; The processor is used for implementing the method steps described in any one of claims 1-7 when executing the programs stored on the memory.
10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program, and when the computer program is executed by the processor, the method steps described in any one of claims 1-7 are implemented.
11. A computer program product, characterized in that, It includes a computer program, and when the computer program is executed by the processor, the method steps described in any one of claims 1 to 7 are implemented.
12. A computer program, characterized in that, It includes: Program code, when the computer runs the computer program, the program code executes the method steps described in any one of claims 1 to 7.
Citation Information
Patent Citations
Authentication agent method, device and equipment
CN107786502A
Domain name resolution method and device based on domain name request risk management and control
CN115695373A
Domain name resolution method and device and electronic equipment
CN117579595A
On-board DNS service for a satellite ISP system using non-geosynchronous orbit satellites
US20020031102A1
Distributed world wide web servers
US6223209B1