Domain name system resolution record processing method and apparatus, and electronic device
By employing data sharding and task scheduling modules at the subdomain level in the DNS resolution record distribution system, the problem of low DNS resolution record distribution efficiency was solved, and efficient synchronous distribution of DNS resolution records was achieved.
Patent Information
- Application Number
- PCT/CN2025/102522
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-07-15
- Filing Date
- 2025-06-20
- Publication Date
- 2026-01-22
AI Technical Summary
The current method of data fragmentation by zone dimension results in low efficiency in the delivery of DNS resolution records.
The DNS record distribution system shards multiple DNS records based on subdomains and distributes the sharded records to the DNS nodes, using a task scheduling module and a distribution queue for synchronous distribution.
This improves the efficiency of DNS record delivery, avoids the problems of low concurrency and low performance caused by zone-based fragmentation, and achieves high-speed delivery of DNS records.
Smart Images

Figure CN2025102522_22012026_PF_FP_ABST
Abstract
Description
Method and device for processing domain name system resolution record, and electronic device
[0001] The present application claims priority to the Chinese patent application No. 202410950157.4, filed on July 16, 2024, and entitled "Method and device for processing domain name system resolution record, and electronic device", the whole content of which is incorporated herein by reference. TECHNICAL FIELD
[0002] The present application relates to the technical field of data processing, in particular to a method and device for processing domain name system resolution record, and an electronic device. BACKGROUND
[0003] With the digital transformation of enterprises, the popularity of cloud computing and the advent of the 5G Internet of Everything era, more and more devices and terminals will be connected to the network, which puts higher performance requirements on the Domain Name System (DNS). In the prior art, the transmission of DNS resolution records in the domain name system is realized through DNS zone data transmission (zone transfer), but zone transfer is a data sharding method based on zone dimension, which results in low synchronization performance.
[0004] To solve the problem of low efficiency of DNS resolution record delivery caused by the data sharding method based on zone dimension in the related art, an effective solution has not been proposed yet. SUMMARY
[0005] Embodiments of the present application provide a method and device for processing domain name system resolution record, and an electronic device, to at least solve the technical problem of low efficiency of DNS resolution record delivery caused by the data sharding method based on zone dimension in the related art.
[0006] According to an aspect of an embodiment of the present application, a method for processing domain name system resolution record is provided, comprising: performing data sharding on a plurality of domain name system resolution records according to a subdomain name dimension by a resolution record distribution system, to obtain a plurality of sharded domain name system resolution records, wherein the sharded domain name system resolution record is used to record the mapping relationship between the domain name information and the IP address in the domain name system; and distributing the plurality of sharded domain name system resolution records to a resolution node of the domain name system by the resolution record distribution system.
[0007] Further, the parsing record distribution system shards the plurality of domain name system parsing records according to the subdomain name dimension to obtain a plurality of shard domain name system parsing records, including: a task scheduling module in the parsing record distribution system acquires the plurality of domain name system parsing records to be issued; and the task scheduling module shards the plurality of domain name system parsing records according to the subdomain name dimension to obtain the plurality of shard domain name system parsing records.
[0008] Further, the parsing record distribution system distributes the plurality of shard domain name system parsing records to the resolution nodes of the domain name system, including: a task scheduling module in the parsing record distribution system distributes a shard domain name system parsing record in the plurality of shard domain name system parsing records to a central distribution queue corresponding to a subdomain name in the shard domain name system parsing record, wherein the central distribution queue is deployed in the parsing record distribution system; and a distribution node in a plurality of distribution nodes of the parsing record distribution system distributes a first shard domain name system parsing record in the central distribution queue to a resolution node of a domain name system.
[0009] Further, the task scheduling module in the parsing record distribution system distributes a shard domain name system parsing record in the plurality of shard domain name system parsing records to a central distribution queue corresponding to a subdomain name in the shard domain name system parsing record, including: determining a task distribution queue corresponding to a subdomain name of a target shard domain name system parsing record, and synchronously distributing the target shard domain name system parsing record to the task distribution queue, wherein the task distribution queue is deployed in the task scheduling module, and the target shard domain name system parsing record is a shard domain name system parsing record in the plurality of shard domain name system parsing records; processing the shard domain name system parsing record through the task distribution queue to obtain a processed domain name system parsing record, wherein the processed domain name system parsing record is a domain name system parsing record that can be processed by the resolution node; and distributing the processed domain name system parsing record to the central distribution queue through the task distribution queue.
[0010] Further, the task distribution queue processes the shard domain name system parsing record to obtain a processed domain name system parsing record, including: acquiring a target data structure corresponding to a domain name system parsing record stored by the resolution node; performing format conversion on the shard domain name system parsing record according to the target data structure to obtain a converted domain name system parsing record; and screening data in the converted domain name system parsing record to obtain the processed domain name system parsing record.
[0011] Further, the acquiring, by the task scheduling module in the resolution record distribution system, of the plurality of domain name system resolution records to be issued comprises: triggering a resolution record issuing task when it is detected that there is a newly added domain name system resolution record in the target system; and acquiring, by the task scheduling module based on the resolution record issuing task, the plurality of domain name system resolution records from the target system.
[0012] Further, the distributing, by a distribution node in the plurality of distribution nodes of the resolution record distribution system, of the first sharded domain name system resolution record in the central distribution queue to the resolution node of the domain name system comprises: reading, by the distribution node in the plurality of distribution nodes, the sharded domain name system resolution record to be issued from the central distribution queue; determining the plurality of resolution nodes corresponding to the distribution node in the plurality of distribution nodes; and distributing, by the distribution node in the plurality of distribution nodes, the sharded domain name system resolution record to be issued to the plurality of resolution nodes.
[0013] Further, when the first sharded domain name system resolution record in the central distribution queue is distributed, by a distribution node in the plurality of distribution nodes of the resolution record distribution system, to the resolution node of the domain name system, the method further comprises: if there is a target distribution node that fails to distribute the first sharded domain name system resolution record in the central distribution queue, determining a second sharded domain name system resolution record that fails to be distributed; triggering a failure command to the task scheduling module according to the second sharded domain name system resolution record; and compensating and issuing the domain name system resolution record by the task scheduling module.
[0014] Further, the compensating and issuing, by the task scheduling module, of the domain name system resolution record comprises: acquiring a current domain name system resolution record of a subdomain corresponding to the second sharded domain name system resolution record; and issuing, by the task scheduling module, the current domain name system resolution record to the resolution node.
[0015] Further, after the first sharded domain name system resolution record in the central distribution queue is distributed to a resolution node of a domain name system by a distribution node of a plurality of distribution nodes of the resolution record distribution system, the method further includes: if a new request for the resolution node is detected, creating an initial resolution node according to the new request and determining a target timestamp, wherein the target timestamp is a timestamp corresponding to the time when the initial resolution node is created; obtaining a data mirror corresponding to full domain name system resolution records before the target timestamp from a target system, wherein the target system is configured to store the domain name system resolution records; performing initialization processing on the initial resolution node according to the data mirror to obtain a processed initial resolution node; obtaining incremental domain name system resolution records after the target timestamp from the target system, and performing incremental compensation processing on the processed initial resolution node according to the incremental domain name system resolution records to obtain a target resolution node.
[0016] Further, after the first sharded domain name system resolution record in the central distribution queue is distributed to a resolution node of a domain name system by a distribution node of a plurality of distribution nodes of the resolution record distribution system, the method further includes: receiving an access request triggered by a target object through a target interface, wherein the access request at least includes a target domain name of an object to be accessed by the target object and a target region corresponding to the access request; determining a target IP address corresponding to the target domain name from the domain name system resolution records by a resolution node corresponding to the target region; and pushing an interface corresponding to the target IP address to the target object.
[0017] According to another aspect of the embodiments of the present application, a processing device for domain name system resolution records is also provided, which includes: a first obtaining unit configured to obtain a plurality of domain name system resolution records to be issued by a task scheduling module in a resolution record distribution system, and perform data sharding on the plurality of domain name system resolution records according to a subdomain name dimension to obtain a plurality of sharded domain name system resolution records, wherein the domain name system resolution records are used to record a mapping relationship between domain name information and IP addresses in a domain name system; and a first distribution unit configured to distribute the plurality of sharded domain name system resolution records to resolution nodes of the domain name system by the resolution record distribution system.
[0018] Further, the sharding unit includes: a first obtaining subunit configured to obtain a plurality of domain name system resolution records to be issued by a task scheduling module in a resolution record distribution system; and a sharding subunit configured to perform data sharding on the plurality of domain name system resolution records according to a subdomain name dimension by the task scheduling module to obtain the plurality of sharded domain name system resolution records.
[0019] Further, the distribution unit comprises: a first distribution subunit configured to distribute, by a task scheduling module in the distribution system of the resolution record, a resolution record of a subdomain name in the resolution record of the domain name system in the plurality of resolution records of the domain name system to a central distribution queue corresponding to the resolution record of the domain name system, wherein the central distribution queue is deployed in the distribution system of the resolution record; and a second distribution subunit configured to distribute, by a distribution node in a plurality of distribution nodes in the distribution system of the resolution record, a first resolution record of the domain name system in the central distribution queue to a resolution node of the domain name system.
[0020] Further, the first distribution subunit comprises: a first distribution module configured to determine a task distribution queue corresponding to a subdomain name of the target resolution record of the domain name system, and to distribute the target resolution record of the domain name system to the task distribution queue, wherein the task distribution queue is deployed in the task scheduling module, and the target resolution record of the domain name system is a resolution record of the domain name system in the plurality of resolution records of the domain name system; a processing module configured to process the resolution record of the domain name system by the task distribution queue to obtain a processed resolution record of the domain name system, wherein the processed resolution record of the domain name system is a resolution record of the domain name system that can be processed by the resolution node; and a second distribution module configured to distribute the processed resolution record of the domain name system to the central distribution queue by the task distribution queue.
[0021] Further, the processing module comprises: a first acquisition sub-module configured to acquire a target data structure corresponding to a resolution record of the domain name system stored by the resolution node; a conversion sub-module configured to convert the resolution record of the domain name system according to the target data structure to obtain a converted resolution record of the domain name system; and a screening sub-module configured to screen data in the converted resolution record of the domain name system to obtain the processed resolution record of the domain name system.
[0022] Further, the acquisition subunit comprises: a triggering module configured to trigger a resolution record distribution task when detecting that there is a new resolution record of the domain name system in a target system; and a second acquisition sub-module configured to acquire the plurality of resolution records of the domain name system from the target system based on the resolution record distribution task by the task scheduling module.
[0023] Further, the second distribution subunit comprises: a reading module configured to read the to-be-issued domain name system resolution record from the central distribution queue by a distribution node in the plurality of distribution nodes; a determining module configured to determine a plurality of resolution nodes corresponding to the distribution node in the plurality of distribution nodes; and a third distribution module configured to distribute the to-be-issued domain name system resolution record to the plurality of resolution nodes by the distribution node in the plurality of distribution nodes.
[0024] Further, the apparatus further comprises: a first determining unit configured to, when a first domain name system resolution record in the central distribution queue is distributed to a resolution node of a domain name system by a distribution node in the plurality of distribution nodes of the resolution record distribution system, determine a second domain name system resolution record that fails to be distributed by a target distribution node if the first domain name system resolution record in the central distribution queue fails to be distributed by the target distribution node; a triggering unit configured to trigger a failure command to the task scheduling module according to the second domain name system resolution record; and an issuing unit configured to compensate and issue the domain name system resolution record by the task scheduling module.
[0025] Further, the issuing unit comprises: a second obtaining subunit configured to obtain a current domain name system resolution record of a subdomain corresponding to the second domain name system resolution record; and an issuing subunit configured to issue the current domain name system resolution record to the resolution node by the task scheduling module.
[0026] Further, the apparatus further comprises: a second determining unit configured to, after a first domain name system resolution record in the central distribution queue is distributed to a resolution node of a domain name system by a distribution node in the plurality of distribution nodes of the resolution record distribution system, create an initial resolution node and determine a target timestamp according to an addition request for the resolution node if the addition request is detected, wherein the target timestamp is a timestamp corresponding to a time when the initial resolution node is created; a first obtaining unit configured to obtain a data mirror corresponding to a full-amount domain name system resolution record before the target timestamp from a target system, wherein the target system is configured to store the domain name system resolution record; a processing unit configured to perform initialization processing on the initial resolution node according to the data mirror to obtain a processed initial resolution node; and a second obtaining unit configured to obtain an incremental domain name system resolution record after the target timestamp from the target system, and perform incremental compensation processing on the processed initial resolution node according to the incremental domain name system resolution record to obtain a target resolution node.
[0027] Further, the apparatus further comprises: a receiving unit, configured to receive, through a target interface, an access request triggered by a target object after a first domain name system resolution record in the central distribution queue is distributed to a resolution node of a domain name system by a distribution node in a plurality of distribution nodes of the resolution record distribution system, wherein the access request at least comprises a target domain name of an object to be accessed by the target object and a target area corresponding to the access request; a third determining unit, configured to determine a target IP address corresponding to the target domain name from the domain name system resolution record through a resolution node corresponding to the target area; and a pushing unit, configured to push an interface corresponding to the target IP address to the target object.
[0028] According to another aspect of the embodiments of the present application, an electronic device is further provided, which comprises a memory storing an executable program, and a processor configured to execute the program, wherein the program performs the processing method of the domain name system resolution record according to any one of the preceding embodiments.
[0029] According to another aspect of the embodiments of the present application, a computer program product is further provided, which comprises a stored computer program, and the computer program, when executed by a processor, implements the processing method of the domain name system resolution record according to any one of the preceding embodiments.
[0030] In the embodiments of the present application, the following steps are adopted: performing data sharding on a plurality of domain name system resolution records according to a subdomain name dimension through a resolution record distribution system to obtain a plurality of sharded domain name system resolution records, wherein the sharded domain name system resolution record is used to record a mapping relationship between domain name information in a domain name system and an IP address; and distributing the plurality of sharded domain name system resolution records to resolution nodes of the domain name system through the resolution record distribution system, thereby solving the technical problem that the distribution of DNS resolution records is relatively low in efficiency in the related art due to the implementation of the distribution of DNS resolution records in the zone dimension.
[0031] In the present solution, when the distribution of domain name system resolution records is needed, a plurality of domain name system resolution records corresponding thereto are obtained through a task scheduling module, and then data sharding is performed on the plurality of domain name system resolution records according to a subdomain name dimension, and then the plurality of sharded domain name system resolution records are synchronously distributed to resolution nodes of a domain name system, thereby avoiding the problem of low concurrency and low performance caused by the data sharding in the zone dimension in the prior art, and further achieving the technical effect of high-speed distribution of DNS resolution records. BRIEF DESCRIPTION OF DRAWINGS
[0032] The accompanying drawings, which are included to provide a further understanding of the application and are incorporated in and constitute a part of this application, illustrate embodiments of the application and together with the description serve to explain the application. In the drawings:
[0033] Fig. 1 is a hardware structure block diagram of a computer terminal according to an embodiment of the present application;
[0034] Fig. 2 is a flow chart of a processing method of domain name system resolution records according to an embodiment of the present application;
[0035] Fig. 3 is a schematic diagram of a processing method of domain name system resolution records according to an embodiment of the present application;
[0036] Fig. 4 is a schematic diagram of a resolution record distribution system according to an embodiment of the present application;
[0037] Fig. 5 is a schematic diagram of a processing device of domain name system resolution records according to an embodiment of the present application;
[0038] Fig. 6 is a structure block diagram of an electronic device according to an embodiment of the present application. DETAILED DESCRIPTION
[0039] In order to make the personnel in the art better understand the present application, the technical solutions in the embodiments of the present application will be described clearly and completely below with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, but not all the embodiments. Based on the embodiments in the present application, all the other embodiments obtained by the personnel in the art without creative labor should belong to the protection scope of the present application.
[0040] It should be noted that the terms "first", "second", and the like in the specification and claims of the present application and the above-described drawings are used to distinguish similar objects, and do not have to be used to describe a specific order or sequence. It should be understood that the data used in this way can be exchanged under appropriate circumstances, so that the embodiments of the present application described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "include" and "have" and any variations thereof are intended to cover non-exclusive inclusion, for example, a process, method, system, product or device including a series of steps or units does not have to be limited to those steps or units clearly listed, but can include other steps or units not clearly listed or inherent to these processes, methods, products or devices.
[0041] First, some nouns or terms appearing in the description of the embodiments of the present application are applicable to the following explanations:
[0042] DNS: The abbreviation of Domain Name System, Domain Name System (DNS) is a distributed database system on the Internet for mapping domain names and IP addresses. It is mainly responsible for converting user-friendly domain names (such as www.example.com) into computer understandable IP addresses (such as 192.0.2.1). DNS makes it unnecessary for users to remember complex digital IP addresses, and they can access resources on the Internet through easy-to-remember domain names.
[0043] It should be noted that the user information (including but not limited to user equipment information, user personal information, etc.) and data (including but not limited to data for analysis, stored data, displayed data, etc.) involved in the present application are all information and data authorized by the user or authorized by all parties, and the collection, use and processing of related data need to comply with relevant laws, regulations and standards in the relevant region, and provide corresponding operation portal for user to choose authorization or refusal.
[0044] Embodiment 1
[0045] According to the embodiments of the present application, a domain name system resolution record processing method is also provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, and although the logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in an order different from here.
[0046] The method provided by the embodiment one of the application can be executed in a mobile terminal, a computer terminal or a similar computing device. FIG. 1 shows a hardware structure block diagram of a computer terminal (or a mobile device) for implementing a processing method of domain name system resolution record. As shown in FIG. 1, the computer terminal (or the mobile device) 10 can include a processor set 102 (the processor set 102 can include but is not limited to a processing device such as a microcontroller unit (MCU) or a field programmable gate array (FPGA), and the processor set 102 can include a processor set, which is shown as 102a, 102b, …, 102n in FIG. 1), a memory 104 for storing data, and a transmission module 106 for communication function. In addition, it can also include a display, an input / output interface (I / O interface), a universal serial bus (USB) port (which can be included as one of the ports of the BUS bus), a network interface, a power supply and / or a camera. Those skilled in the art can understand that the structure shown in FIG. 1 is only schematic, which does not limit the structure of the above-mentioned electronic device. For example, the computer terminal 10 can also include more or less components than those shown in FIG. 1, or have a different configuration from that shown in FIG. 1.
[0047] It should be noted that the one or more processors 102 and / or other data processing circuits described above can be referred to as "data processing circuits" herein. The data processing circuit can be embodied in whole or in part as software, hardware, firmware or any combination thereof. In addition, the data processing circuit can be a single independent processing module, or all or part of any one of the other elements combined into the computer terminal 10 (or the mobile device). As referred to in the embodiments of the application, the data processing circuit serves as a processor control (for example, selection of a variable resistance terminal path connected with an interface).
[0048] The memory 104 can be used to store software programs of application software and modules, such as program instructions / data storage devices corresponding to the domain name system resolution record processing method in the embodiments of the present application. The processor 102 executes various functional applications and data processing by running the software programs and modules stored in the memory 104, that is, implements the domain name system resolution record processing method described above. The memory 104 can include a high-speed random access memory, and can also include a non-volatile memory, such as one or more magnetic storage devices, flash memories, or other non-volatile solid-state memories. In some examples, the memory 104 can further include a memory remotely arranged with respect to the processor 102, which can be connected to the computer terminal 10 through a network. Examples of the above-mentioned network include but are not limited to the Internet, an intranet, a local area network, a mobile communication network, and a combination thereof.
[0049] The transmission device 106 is used to receive or send data via a network. Specific examples of the above-mentioned network can include a wireless network provided by a communication provider of the computer terminal 10. In one example, the transmission device 106 includes a network adapter (Network Interface Controller, NIC), which can be connected to other network devices through a base station so as to be able to communicate with the Internet. In one example, the transmission device 106 can be a radio frequency (Radio Frequency, RF) module, which is used to communicate with the Internet in a wireless manner.
[0050] The display can be a touch screen type liquid crystal display, which can enable the user to interact with the user interface of the computer terminal 10 (or mobile device).
[0051] Under the above operating environment, the present application provides a domain name system resolution record processing method as shown in FIG. 2. FIG. 2 is a flowchart of the domain name system resolution record processing method according to Embodiment One of the present application. As shown in FIG. 2, the method includes:
[0052] In step S201, the plurality of domain name system resolution records are data-sharded according to the subdomain name dimension by the resolution record distribution system, and a plurality of sharded domain name system resolution records are obtained, wherein the sharded domain name system resolution record is used to record the mapping relationship between the domain name information and the IP address in the domain name system.
[0053] Optionally, in view of the problem that the synchronization performance of the DNA resolution record is not high due to the data sharding and issuing of the DNA resolution record (i.e., the domain name system resolution record) according to the zone dimension in the prior art, a resolution record distribution system is proposed. The synchronization issuing of the DNA resolution record is realized through the resolution record distribution system.
[0054] The synchronization distribution of the DNA analysis record by the analysis record distribution system comprises the following steps: after detecting that there is a DNA analysis record that needs to be distributed to the DNA analysis node, the analysis record distribution system obtains the plurality of DNS analysis records (i.e., the plurality of domain name system analysis records) to be distributed from a target system that stores the DNA analysis record. It should be noted that the DNS analysis record is used to record the mapping relationship between the domain name information in the domain name system and the IP address, and the DNS analysis record enables users to access websites and other resources on the Internet through domain names that are easy to remember, instead of through IP addresses that are difficult to remember.
[0055] After obtaining the plurality of DNS analysis records to be distributed, in order to improve the distribution efficiency of the plurality of DNS analysis records, the analysis record distribution system performs data sharding processing on the plurality of DNS analysis records according to the subdomain name dimension, so as to realize the synchronization distribution of the DNS analysis record.
[0056] Step S202, distributing the plurality of sharded domain name system analysis records to the analysis node of the domain name system by the analysis record distribution system.
[0057] Optionally, in order to realize the synchronization distribution of the DNS analysis record, after performing the data sharding processing on the plurality of DNS analysis records, the analysis record distribution system distributes the plurality of sharded domain name system analysis records to the analysis node of the domain name system.
[0058] In summary, when the distribution of the domain name system analysis record is needed, the corresponding plurality of domain name system analysis records are obtained by the task scheduling module, then the plurality of domain name system analysis records are subjected to data sharding according to the subdomain name dimension, and then the plurality of sharded domain name system analysis records are synchronously distributed to the analysis node of the domain name system. The data sharding according to the subdomain name dimension avoids the problem of low concurrency and low performance caused by the data sharding according to the zone dimension in the prior art, and thus the technical effect of high-speed distribution of the DNS analysis record is achieved.
[0059] In the method for processing the domain name system analysis record provided in the first embodiment of the present application, the plurality of domain name system analysis records are subjected to data sharding according to the subdomain name dimension by the analysis record distribution system, and the plurality of sharded domain name system analysis records are obtained, which comprises: obtaining the plurality of domain name system analysis records to be distributed by the task scheduling module in the analysis record distribution system; and performing data sharding on the plurality of domain name system analysis records according to the subdomain name dimension by the task scheduling module, so as to obtain the plurality of sharded domain name system analysis records.
[0060] Optionally, after detecting that there are DNS resolution records that need to be issued to the DNA resolution node, the task scheduling module in the resolution record distribution system obtains the plurality of DNS resolution records (i.e., the plurality of domain name system resolution records described above) to be issued from the target system storing the DNS resolution records. It should be noted that the DNS resolution record is used to record the mapping relationship between the domain name information in the domain name system and the IP address, and the DNS resolution record enables users to access websites and other resources on the Internet through domain names that are easy to remember, rather than through IP addresses that are difficult to remember.
[0061] After obtaining the plurality of DNS resolution records to be issued described above, in order to improve the efficiency of issuing the plurality of DNS resolution records, the task scheduling module performs data sharding processing on the plurality of DNS resolution records according to the subdomain name dimension, so as to realize synchronous issuance of the DNS resolution records.
[0062] In the method for processing domain name system resolution records provided in the first embodiment of the present application, the plurality of sharded domain name system resolution records are distributed to the resolution nodes of the domain name system by the resolution record distribution system, including: distributing, by the task scheduling module in the resolution record distribution system, the sharded domain name system resolution records in the plurality of sharded domain name system resolution records to the central distribution queue corresponding to the subdomain name in the sharded domain name system resolution record, wherein the central distribution queue is deployed in the resolution record distribution system; and distributing, by the distribution node in the plurality of distribution nodes of the resolution record distribution system, the first sharded domain name system resolution record in the central distribution queue to the resolution node of the domain name system.
[0063] Optionally, in order to realize synchronous issuance of the DNS resolution records, after the data sharding processing is performed on the plurality of DNS resolution records, the corresponding sharded domain name system resolution record is distributed to the central distribution queue corresponding to the subdomain name in the sharded domain name system resolution record according to the subdomain name corresponding to the sharded domain name system resolution record, that is, different subdomain names correspond to different central distribution queues, and the synchronous transmission of the sharded domain name system resolution record is realized through the central distribution queue.
[0064] A plurality of distribution nodes are deployed in the resolution record distribution system, and the first sharded domain name system resolution record in the central distribution queue is responsible for consumption by the distribution node. The distribution node distributes the domain name system resolution record according to the DNS node that needs to be distributed by itself, and sends the domain name system resolution record to the corresponding DNS node (i.e., the resolution node of the domain name system described above). After the distribution is completed, the DNS node can realize domain name resolution according to the domain name system resolution record, so as to meet the access demand of the user for the target IP address.
[0065] It should be noted that the distribution nodes in the plurality of distribution nodes can correspond to a plurality of DNS nodes. The distribution node can be a distribution cluster, and the servers in the distribution cluster obtain the to-be-delivered sharded domain name system resolution record from the corresponding central distribution queue.
[0066] It should be noted that the distribution node traverses the sharded domain name system resolution records in all central distribution queues and delivers them to the corresponding DNS nodes.
[0067] The central distribution queue can be used to implement efficient synchronous delivery of DNS resolution records.
[0068] In order to improve the efficiency of the subsequent DNS nodes in using the DNS resolution record, in the domain name system resolution record processing method provided in Embodiment One of the present application, the task scheduling module in the resolution record distribution system distributes the sharded domain name system resolution record in the plurality of sharded domain name system resolution records to the central distribution queue corresponding to the subdomain name of the sharded domain name system resolution record includes: determining the task distribution queue corresponding to the subdomain name of the target sharded domain name system resolution record, and synchronously distributing the target sharded domain name system resolution record to the task distribution queue, wherein the task distribution queue is deployed in the task scheduling module, and the target sharded domain name system resolution record is a sharded domain name system resolution record in the plurality of sharded domain name system resolution records; processing the sharded domain name system resolution record through the task distribution queue to obtain a processed domain name system resolution record, wherein the processed domain name system resolution record is a domain name system resolution record that can be processed by a resolution node; and distributing the processed domain name system resolution record to the central distribution queue through the task distribution queue.
[0069] Optionally, after the DNS resolution record is sharded according to the subdomain name dimension, the sharded DNS resolution record is distributed to the task distribution queue corresponding to the subdomain name of the sharded DNS resolution record, that is, the task distribution queue corresponding to the subdomain name of the target sharded domain name system resolution record is determined, and then the target sharded domain name system resolution record is synchronously distributed to the task distribution queue. The sharded DNS resolution record is packaged and format-converted through the task distribution queue to obtain a resolution change command that can be processed by a DNS node (i.e., the processed domain name system resolution record described above), and finally, the processed domain name system resolution record is sent to the corresponding central distribution queue according to the subdomain name dimension through the task distribution queue.
[0070] Processing the domain name system resolution record through the task distribution queue helps the subsequent DNS node to perform data processing when using it, thereby improving the efficiency of subsequent domain name resolution.
[0071] In order to improve the accuracy of the task distribution queue in processing the domain name system resolution record, in the domain name system resolution record processing method provided in Embodiment One of the present application, the domain name system resolution record is processed by the task distribution queue to obtain the processed domain name system resolution record, including: obtaining the target data structure corresponding to the domain name system resolution record stored by the resolution node; performing format conversion on the domain name system resolution record according to the target data structure to obtain the converted domain name system resolution record; and filtering the data in the converted domain name system resolution record to obtain the processed domain name system resolution record.
[0072] Optionally, the processing of the domain name system resolution record is implemented by the following steps: first, the target data structure corresponding to the domain name system resolution record stored by the resolution node is determined, then the domain name system resolution record is converted according to the target data structure, and then the data in the converted domain name system resolution record is filtered according to the information required by the DNS node when performing domain name resolution, thereby obtaining the processed domain name system resolution record.
[0073] The domain name system resolution record is converted according to the target data structure, which ensures that the subsequent DNS node can use the domain name system resolution record, filters the data in the domain name system resolution record, reduces the data transmission amount on the basis of ensuring that the DNS node can use the domain name system resolution record, and improves the data transmission efficiency.
[0074] In order to further improve the transmission efficiency of the domain name system resolution record, in the domain name system resolution record processing method provided in Embodiment One of the present application, the task scheduling module in the resolution record distribution system is used to obtain the plurality of domain name system resolution records to be issued, including: triggering a resolution record issuing task when it is detected that there is a newly added domain name system resolution record in the target system; and obtaining the plurality of domain name system resolution records from the target system by the task scheduling module based on the resolution record issuing task.
[0075] Optionally, the user can add or update his own DNS resolution record in the resolution management system (i.e. the target system). Then the target system is detected in real time to detect whether there is a newly added domain name system resolution record in the target system, and the resolution record issuing task is triggered in a timely manner in the case where there is a newly added domain name system resolution record.
[0076] Then, the resolution record issuing task can be issued to the task scheduling module in an asynchronous manner, and finally the task scheduling module obtains the plurality of domain name system resolution records from the target system based on the resolution record issuing task.
[0077] By detecting the target system, the DNS resolution record that needs to be issued can be quickly found, and the efficiency of issuing the DNS resolution record is improved.
[0078] In order to improve the efficiency of the DNS resolution record delivery, in the domain name system resolution record processing method provided by the first embodiment of the present application, the first sharded domain name system resolution record in the central distribution queue is distributed to the resolution nodes of the domain name system by the distribution node in the multiple distribution nodes of the resolution record distribution system, which includes: reading the sharded domain name system resolution record to be delivered from the central distribution queue by the distribution node in the multiple distribution nodes; determining the multiple resolution nodes corresponding to the distribution node in the multiple distribution nodes; and distributing the sharded domain name system resolution record to be delivered to the multiple resolution nodes by the distribution node in the multiple distribution nodes.
[0079] Optionally, multiple distribution nodes are deployed in the resolution record distribution system. It should be noted that the distribution nodes can be horizontally expanded according to actual needs. The distribution nodes in the multiple distribution nodes correspond to multiple DNS nodes, and the distribution nodes and the DNS nodes can have a one-to-one correspondence or a one-to-many correspondence. The distribution nodes read the sharded domain name system resolution record to be delivered from all the central distribution queues, and then distribute the domain name system resolution record to be delivered to the DNS nodes corresponding to the distribution nodes.
[0080] It should be noted that the distribution nodes in the multiple distribution nodes can be a distribution cluster, and the servers in the distribution cluster correspond to different central distribution queues, and all the central distribution queues are read by the multiple servers in the distribution cluster.
[0081] The multiple distribution nodes can realize the concurrency of the first sharded domain name system resolution record in the central distribution queue, and improve the efficiency of the domain name system resolution record delivery.
[0082] In the domain name system resolution record delivery method adopted in the prior art, the zone dimension full data synchronization is triggered to compensate in the case of a failed command, which seriously affects the domain name resolution work of the domain name system. In the domain name system resolution record processing method provided by the first embodiment of the present application, in order to solve the above problem, when the first sharded domain name system resolution record in the central distribution queue is distributed to the resolution nodes of the domain name system by the distribution node in the multiple distribution nodes of the resolution record distribution system, the method further includes the following steps: if the target distribution node fails to distribute the first sharded domain name system resolution record in the central distribution queue, determining the second sharded domain name system resolution record of the distribution failure; triggering the failed command to the task scheduling module according to the second sharded domain name system resolution record; and compensating and delivering the domain name system resolution record by the task scheduling module.
[0083] Optionally, if the distribution node fails to send the domain name system resolution record for multiple times, the domain name system resolution record will be returned to the task scheduling module through the failure command return mechanism, that is, when the target distribution node fails to distribute the first domain name system resolution record in the central distribution queue, the failure command is triggered to the task scheduling module according to the second domain name system resolution record which fails to be distributed.
[0084] Then, the task scheduling module creates a task of the compensation command and performs re-distribution of the compensation command (i.e., the above-mentioned compensation distribution of the domain name system resolution record by the task scheduling module), thereby maintaining the consistency of the data.
[0085] Through the above steps, the DNS resolution record of the subdomain name dimension can be rewritten when the distribution fails, and the overall data rewriting is avoided.
[0086] In the method for processing the domain name system resolution record provided in the first embodiment of the present application, the compensation distribution of the domain name system resolution record by the task scheduling module includes the following steps: obtaining the current domain name system resolution record corresponding to the subdomain name of the second domain name system resolution record; and distributing the current domain name system resolution record to the resolution node by the task scheduling module.
[0087] Optionally, the subdomain name corresponding to the second domain name system resolution record is determined, and the current domain name system resolution record corresponding to the subdomain name is obtained from the target system, and then the domain name system resolution record in the resolution node is overwritten by the current domain name system resolution record. It should be noted that if the compensation distribution fails again, the compensation distribution will be triggered again until the distribution is successful. The overwriting by the current domain name system resolution record can effectively ensure the consistency of the data.
[0088] In order to ensure the horizontal expansion of the DNS node, in the method for processing the domain name system resolution record provided in the first embodiment of the present application, after the first domain name system resolution record in the central distribution queue is distributed to the resolution node of the domain name system by the distribution node in the plurality of distribution nodes of the resolution record distribution system, the method further includes: if a new request for the resolution node is detected, creating an initial resolution node according to the new request and determining a target timestamp, wherein the target timestamp is the timestamp corresponding to the time when the creation is completed; obtaining the data mirror corresponding to the full-amount domain name system resolution record before the target timestamp from the target system, wherein the target system is used to store the domain name system resolution record; initializing the initial resolution node according to the data mirror to obtain a processed initial resolution node; obtaining the incremental domain name system resolution record after the target timestamp from the target system, and performing incremental compensation processing on the processed initial resolution node according to the incremental domain name system resolution record to obtain a target resolution node.
[0089] Optionally, the user can adjust the number of DNS nodes according to actual needs. After detecting an addition request for a resolution node, an initial resolution node is first created and a target timestamp after successful creation of the initial resolution node is recorded.
[0090] Then, according to the target timestamp, a data mirror corresponding to full domain name system resolution records before the target timestamp is obtained from the target system. The initial resolution node is initialized by the data mirror, that is, the data mirror is transmitted to the initial resolution node. After initialization, incremental domain name system resolution records after the target timestamp are obtained from the target system. Finally, the initial resolution node after processing is incrementally compensated by the incremental domain name system resolution records to obtain the target resolution node described above. It should be noted that the incremental compensation processing refers to issuing the domain name system resolution records generated in the initialization processing of the initial resolution node to the target resolution node. It should be noted that the target resolution node is the addition resolution node. After synchronizing the data, the domain name resolution service can be provided externally.
[0091] The synchronization process of the domain name system resolution records can realize horizontal expansion of the DNS nodes.
[0092] After the first sharded domain name system resolution record in the central distribution queue is distributed to the resolution node of the domain name system by the distribution node in the plurality of distribution nodes of the resolution record distribution system, in the domain name system resolution record processing method provided by the first embodiment of the present application, the method further includes the following steps: receiving an access request triggered by a target object through a target interface, wherein the access request at least includes a target domain name of an object to be accessed by the target object and a target region corresponding to the access request; determining a target IP address corresponding to the target domain name from the domain name system resolution record through the resolution node corresponding to the target region; and pushing an interface corresponding to the target IP address to the target object.
[0093] Optionally, the user (i.e. the target object described above) can initiate an access request for a certain IP address through a target interface in an application. It should be noted that the access request at least includes a target domain name of an object to be accessed by the user and a target region corresponding to the access request.
[0094] According to the target region corresponding to the access request, the DNS node corresponding to the target region is determined, and the target domain name of the object to be accessed by the user is sent to the DNS node. The target IP address corresponding to the target domain name is determined from the domain name system resolution record through the DNS node. Finally, the interface corresponding to the target IP address is pushed to the user, thereby realizing the access demand of the user to the target IP address.
[0095] In an optional embodiment, the delivery of the DNS resolution record can be implemented through a schematic diagram as shown in FIG. 3, specifically including the following steps: a user adds or updates his own resolution record in the resolution management system, and then asynchronously delivers the resolution operation in the form of a task to a task scheduling module, the resolution operation task is sharded in the task scheduling module according to the subdomain name dimension and enters an internal queue (i.e., the task distribution queue mentioned above), the task of the resolution operation is packed and converted into a resolution change command that can be processed by the DNS node at the consumer end of the internal queue, and the resolution change command is sent to the center distribution queue according to the subdomain name dimension. The change command message in the center distribution queue is consumed by a distribution node, which distributes the change command according to the configuration of the DNS node that needs to be distributed by the distribution node, and sends the change command to the corresponding DNS node. The distribution node will use the failed command backflow mechanism to backflow the command that has failed in multiple sending attempts to the task scheduling module, and create a compensation type command task in the task scheduling module for re-distribution of the compensation type command, so as to maintain the consistency of the data. The resolution record distribution system in FIG. 3 includes a task scheduling module, a center distribution queue, and a distribution node, and these modules are horizontally scalable and can support the distribution of millions of change commands per second. When a DNS node is added, the data is initialized by loading the full resolution record mirror data generated at a certain moment in the resolution management system, and then requesting the incremental resolution record data after the corresponding moment for compensation to complete the compensation of the differential data.
[0096] In the method for processing domain name system resolution records provided in the first embodiment of the present application, the resolution record distribution system shards a plurality of domain name system resolution records according to the subdomain name dimension to obtain a plurality of sharded domain name system resolution records, wherein the sharded domain name system resolution records are used to record the mapping relationship between the domain name information and the IP address in the domain name system; and the resolution record distribution system distributes the plurality of sharded domain name system resolution records to the resolution nodes of the domain name system, thereby solving the technical problem of low efficiency of the delivery of DNS resolution records caused by the delivery of DNS resolution records in the related art by sharding data according to the zone dimension.
[0097] In the present solution, when the delivery of the domain name system resolution record is needed, the task scheduling module is used to obtain a plurality of corresponding domain name system resolution records, the plurality of domain name system resolution records are sharded according to the subdomain name dimension, and the plurality of sharded domain name system resolution records are synchronously distributed to the resolution nodes of the domain name system. The data is sharded according to the subdomain name dimension, thereby avoiding the problem of low concurrency and low performance caused by the data sharding according to the zone dimension in the prior art, and achieving the technical effect of high-speed delivery of DNS resolution records.
[0098] It should be noted that for the foregoing method embodiments, for the sake of simple description, they are all described as a combination of a series of actions, but those skilled in the art should know that the present application is not limited by the action sequence described, because according to the present application, certain steps can be performed in other sequences or simultaneously. Secondly, those skilled in the art should know that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily essential to the present application.
[0099] From the above description of the embodiments, those skilled in the art can clearly understand that the method according to the above embodiments can be realized by means of software and a necessary general hardware platform, and of course it can also be realized by hardware, but in many cases the former is a better embodiment. Based on such understanding, the technical solutions of the present application can be embodied in the form of a software product, which is stored in a storage medium (such as a ROM / RAM, a magnetic disk, an optical disk) and includes a plurality of instructions for causing a terminal device (which can be a mobile phone, a computer, a server, or a network device, etc.) to execute the method of each embodiment of the present application.
[0100] Embodiment 2
[0101] According to the embodiments of the present application, a resolution record distribution system for implementing the above domain name system resolution record processing method is also provided, as shown in FIG. 4, the resolution record distribution system includes a task scheduling module 40, a central distribution queue 41 and a distribution node 42.
[0102] The resolution record issuing is realized by the domain name system resolution record processing system, including the following steps: a user adds or updates his own resolution record in the resolution management system, and then issues the resolution operation in the form of a task to the task scheduling module 40, the resolution operation task is divided by subdomain name in the task scheduling module 40 and enters the internal queue, the resolution operation task is data packed and converted into a resolution change command that can be processed by the DNS node at the consumer end of the internal queue, and the resolution change command is sent to the central distribution queue 41 according to the subdomain name. The change command message in the central distribution queue 41 is consumed by the distribution node 42, the distribution node 42 distributes the change command according to the configuration of the DNS node that needs to be distributed by itself, and sends the change command to the corresponding DNS node. The distribution node 42 will try multiple times or fail to send the command, which will be returned to the task scheduling module through the failed command backflow mechanism, and the task scheduling module will create a compensation type command task to perform re-distribution of the compensation type command, thereby maintaining the consistency of the data.
[0103] It should be noted that the task scheduling module, the central distribution queue and the distribution node of the parsing record distribution system are horizontally scalable, and can support the distribution of millions of change commands per second.
[0104] It should be noted that for the foregoing method embodiments, in order to simply describe, they are all expressed as a combination of a series of actions, but those skilled in the art should know that the present application is not limited by the order of the described actions, because according to the present application, certain steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should know that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily necessary for the present application.
[0105] From the above description of the embodiments, those skilled in the art can clearly understand that the method according to the above embodiments can be realized by means of software and the necessary general hardware platform, of course, it can also be realized by hardware, but in many cases the former is a better embodiment. Based on such understanding, the technical solutions of the present application can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) and includes a plurality of instructions for making a terminal device (which can be a mobile phone, computer, server, or network device, etc.) execute the method of each embodiment of the present application.
[0106] Embodiment 3
[0107] According to the embodiments of the present application, a domain name system parsing record processing device for implementing the above-mentioned domain name system parsing record processing method is also provided, as shown in FIG. 5, the device comprises: a fragmentation unit 501 and a distribution unit 502.
[0108] The fragmentation unit 501 is configured to perform data fragmentation on a plurality of domain name system parsing records according to the subdomain name dimension through the parsing record distribution system, to obtain a plurality of fragmented domain name system parsing records, wherein the fragmented domain name system parsing record is used to record the mapping relationship between the domain name information and the IP address in the domain name system;
[0109] The distribution unit 502 is configured to distribute the plurality of fragmented domain name system parsing records to the parsing node of the domain name system through the parsing record distribution system.
[0110] In the domain name system resolution record processing apparatus provided in Embodiment Three of the present application, the sharding unit 501 performs data sharding on the plurality of domain name system resolution records according to the subdomain name dimension through the resolution record distribution system, to obtain a plurality of sharded domain name system resolution records, wherein the sharded domain name system resolution record is used to record the mapping relationship between the domain name information and the IP address in the domain name system; and the distribution unit 502 distributes the plurality of sharded domain name system resolution records to the resolution nodes of the domain name system through the resolution record distribution system, thereby solving the technical problem that the DNS resolution record distribution is implemented in the related art by the way of data sharding according to the zone dimension, resulting in relatively low efficiency of the DNS resolution record distribution.
[0111] In the present solution, when the distribution of the domain name system resolution record is needed, the corresponding plurality of domain name system resolution records are obtained through the task scheduling module, and then the plurality of domain name system resolution records are sharded according to the subdomain name dimension, and then the plurality of sharded domain name system resolution records are synchronously distributed to the resolution nodes of the domain name system, thereby sharding the data according to the subdomain name dimension, avoiding the problem of low concurrency and low performance caused by the data sharding according to the zone dimension in the prior art, and further achieving the technical effect of high-speed distribution of the DNS resolution record.
[0112] Optionally, in the domain name system resolution record processing apparatus provided in Embodiment Three of the present application, the sharding unit 501 comprises: a first obtaining subunit configured to obtain the plurality of domain name system resolution records to be distributed through the task scheduling module in the resolution record distribution system; and a sharding subunit configured to perform data sharding on the plurality of domain name system resolution records according to the subdomain name dimension through the task scheduling module, to obtain the plurality of sharded domain name system resolution records.
[0113] Optionally, in the domain name system resolution record processing apparatus provided in Embodiment Three of the present application, the distribution unit 502 comprises: a first distribution subunit configured to distribute the sharded domain name system resolution record in the plurality of sharded domain name system resolution records to the central distribution queue corresponding to the subdomain name in the sharded domain name system resolution record through the task scheduling module in the resolution record distribution system, wherein the central distribution queue is deployed in the resolution record distribution system; and a second distribution subunit configured to distribute the first sharded domain name system resolution record in the central distribution queue to the resolution node of the domain name system through the distribution node in the plurality of distribution nodes of the resolution record distribution system.
[0114] Optionally, in the domain name system resolution record processing apparatus provided in Embodiment Three of the present application, the first distribution subunit comprises: a first distribution module configured to determine a task distribution queue corresponding to a subdomain name of the target sharded domain name system resolution record, and synchronously distribute the target sharded domain name system resolution record to the task distribution queue, wherein the task distribution queue is deployed in the task scheduling module, and the target sharded domain name system resolution record is a sharded domain name system resolution record in the plurality of sharded domain name system resolution records; a processing module configured to process the sharded domain name system resolution record through the task distribution queue to obtain a processed domain name system resolution record, wherein the processed domain name system resolution record is a domain name system resolution record that can be processed by the resolution node; and a second distribution module configured to distribute the processed domain name system resolution record to the central distribution queue through the task distribution queue.
[0115] Optionally, in the domain name system resolution record processing apparatus provided in Embodiment Three of the present application, the processing module comprises: a first acquisition submodule configured to acquire a target data structure corresponding to the domain name system resolution record stored by the resolution node; a conversion submodule configured to convert the format of the sharded domain name system resolution record according to the target data structure to obtain a converted domain name system resolution record; and a screening submodule configured to screen the data in the converted domain name system resolution record to obtain the processed domain name system resolution record.
[0116] Optionally, in the domain name system resolution record processing apparatus provided in Embodiment Three of the present application, the acquisition subunit comprises: a triggering module configured to trigger a resolution record delivery task when it is detected that there is a newly added domain name system resolution record in the target system; and a second acquisition submodule configured to acquire the plurality of domain name system resolution records from the target system based on the resolution record delivery task through the task scheduling module.
[0117] Optionally, in the domain name system resolution record processing apparatus provided in Embodiment Three of the present application, the second distribution subunit comprises: a reading module configured to read the sharded domain name system resolution record to be delivered from the central distribution queue through the distribution node in the plurality of distribution nodes; a determination module configured to determine a plurality of resolution nodes corresponding to the distribution node in the plurality of distribution nodes; and a third distribution module configured to distribute the sharded domain name system resolution record to be delivered to the plurality of resolution nodes through the distribution node in the plurality of distribution nodes.
[0118] Optionally, in the domain name system resolution record processing apparatus provided in Embodiment Three of the present application, the apparatus further comprises: a first determining unit configured to, when the first sharded domain name system resolution record in the central distribution queue is distributed to the resolution node of the domain name system by the distribution node of the plurality of distribution nodes of the resolution record distribution system, determine the second sharded domain name system resolution record that fails to be distributed by the target distribution node if the first sharded domain name system resolution record in the central distribution queue fails to be distributed by the target distribution node; a triggering unit configured to trigger a failure command to the task scheduling module according to the second sharded domain name system resolution record; and a delivery unit configured to compensate and deliver the domain name system resolution record by the task scheduling module.
[0119] Optionally, in the domain name system resolution record processing apparatus provided in Embodiment Three of the present application, the delivery unit comprises: a second obtaining subunit configured to obtain the current domain name system resolution record of the subdomain name corresponding to the second sharded domain name system resolution record; and a delivery subunit configured to deliver the current domain name system resolution record to the resolution node by the task scheduling module.
[0120] Optionally, in the domain name system resolution record processing apparatus provided in Embodiment Three of the present application, the apparatus further comprises: a second determining unit configured to, after the first sharded domain name system resolution record in the central distribution queue is distributed to the resolution node of the domain name system by the distribution node of the plurality of distribution nodes of the resolution record distribution system, create an initial resolution node according to an addition request and determine a target timestamp if the addition request to the resolution node is detected, wherein the target timestamp is the timestamp corresponding to the time when the initial resolution node is created; a first obtaining unit configured to obtain the data mirror corresponding to the full-amount domain name system resolution record before the target timestamp from a target system, wherein the target system is configured to store the domain name system resolution record; a processing unit configured to perform initialization processing on the initial resolution node according to the data mirror to obtain a processed initial resolution node; and a second obtaining unit configured to obtain the incremental domain name system resolution record after the target timestamp from the target system and perform incremental compensation processing on the processed initial resolution node according to the incremental domain name system resolution record to obtain a target resolution node.
[0121] Optionally, in the domain name system resolution record processing apparatus provided in Embodiment Three of the present application, the apparatus further comprises: a receiving unit configured to receive, through a target interface, an access request triggered by a target object after the first sharded domain name system resolution record in the central distribution queue is distributed to a resolution node of the domain name system by a distribution node of the plurality of distribution nodes of the resolution record distribution system, wherein the access request at least comprises a target domain name of an object to be accessed by the target object and a target region corresponding to the access request; a third determining unit configured to determine a target IP address corresponding to the target domain name from the domain name system resolution record through the resolution node corresponding to the target region; and a pushing unit configured to push an interface corresponding to the target IP address to the target object.
[0122] It should be noted that the sharding unit 501 and the distribution unit 502 correspond to steps S201 to S202 in Embodiment 1, and the three units have the same instances and application scenarios as the corresponding steps, but are not limited to the solutions disclosed in Embodiment 1. It should be noted that the above modules can be run in the computer terminal 10 provided in Embodiment 1 as part of the apparatus.
[0123] It should be noted that the preferred embodiments involved in the above embodiments of the present application have the same solutions, application scenarios, and implementation processes as those provided in Embodiment 1, but are not limited to the solutions provided in Embodiment 1.
[0124] Embodiment 4
[0125] Embodiments of the present application can provide an electronic device, which can be any one of the electronic devices in the electronic device terminal group. Alternatively, in the present embodiment, the electronic device can also be replaced by a terminal device such as a mobile terminal.
[0126] Alternatively, in the present embodiment, the electronic device can be located in at least one network device of a plurality of network devices of a computer network.
[0127] In the present embodiment, the electronic device can execute program codes of the following steps in the domain name system resolution record processing method: performing data sharding on a plurality of domain name system resolution records according to a subdomain name dimension through a resolution record distribution system to obtain a plurality of sharded domain name system resolution records, wherein the sharded domain name system resolution record is used to record a mapping relationship between domain name information and an IP address in the domain name system; and distributing the plurality of sharded domain name system resolution records to resolution nodes of the domain name system through the resolution record distribution system.
[0128] The electronic device can execute program codes of the following steps in the processing method of domain name system resolution records: performing data sharding on the plurality of domain name system resolution records according to a subdomain name dimension by a resolution record distribution system to obtain a plurality of sharded domain name system resolution records, including: obtaining, by a task scheduling module in the resolution record distribution system, a plurality of domain name system resolution records to be distributed; and performing data sharding on the plurality of domain name system resolution records according to the subdomain name dimension by the task scheduling module to obtain the plurality of sharded domain name system resolution records.
[0129] The electronic device can execute program codes of the following steps in the processing method of domain name system resolution records: distributing, by a resolution record distribution system, the plurality of sharded domain name system resolution records to resolution nodes of a domain name system, including: distributing, by a task scheduling module in the resolution record distribution system, a sharded domain name system resolution record in the plurality of sharded domain name system resolution records to a central distribution queue corresponding to a subdomain name in the sharded domain name system resolution record, wherein the central distribution queue is deployed in the resolution record distribution system; and distributing, by a distribution node in a plurality of distribution nodes of the resolution record distribution system, a first sharded domain name system resolution record in the central distribution queue to a resolution node of the domain name system.
[0130] The electronic device can execute program codes of the following steps in the processing method of domain name system resolution records: distributing, by a task scheduling module in the resolution record distribution system, a sharded domain name system resolution record in the plurality of sharded domain name system resolution records to a central distribution queue corresponding to a subdomain name in the sharded domain name system resolution record, including: determining a task distribution queue corresponding to the subdomain name of a target sharded domain name system resolution record, and synchronously distributing the target sharded domain name system resolution record to the task distribution queue, wherein the task distribution queue is deployed in the task scheduling module; processing the sharded domain name system resolution record by the task distribution queue, the target sharded domain name system resolution record being a sharded domain name system resolution record in the plurality of sharded domain name system resolution records, to obtain a processed domain name system resolution record, wherein the processed domain name system resolution record is a domain name system resolution record that can be processed by a resolution node; and distributing, by the task distribution queue, the processed domain name system resolution record to the central distribution queue.
[0131] The electronic device can execute program codes of the following steps in the processing method of domain name system resolution records: processing the sharded domain name system resolution record by the task distribution queue to obtain a processed domain name system resolution record, including: obtaining a target data structure corresponding to a domain name system resolution record stored by a resolution node; performing format conversion on the sharded domain name system resolution record according to the target data structure to obtain a converted domain name system resolution record; and screening data in the converted domain name system resolution record to obtain the processed domain name system resolution record.
[0132] The electronic device can execute program codes of the following steps in the processing method of domain name system resolution records: obtaining, by a task scheduling module in a resolution record distribution system, a plurality of domain name system resolution records to be issued includes: when detecting that there are newly added domain name system resolution records in a target system, triggering a resolution record issuing task; and obtaining, by the task scheduling module, the plurality of domain name system resolution records from the target system based on the resolution record issuing task.
[0133] The electronic device can execute program codes of the following steps in the processing method of domain name system resolution records: distributing, by a distribution node in a plurality of distribution nodes of a resolution record distribution system, first sharded domain name system resolution records in a central distribution queue to resolution nodes of a domain name system includes: reading, by the distribution node in the plurality of distribution nodes, sharded domain name system resolution records to be issued from the central distribution queue; determining a plurality of resolution nodes corresponding to the distribution node in the plurality of distribution nodes; and distributing, by the distribution node in the plurality of distribution nodes, the sharded domain name system resolution records to be issued to the plurality of resolution nodes.
[0134] The electronic device can execute program codes of the following steps in the processing method of domain name system resolution records: when distributing, by a distribution node in a plurality of distribution nodes of a resolution record distribution system, first sharded domain name system resolution records in a central distribution queue to resolution nodes of a domain name system, the method further includes: if there is a target distribution node that fails to distribute the first sharded domain name system resolution records in the central distribution queue, determining second sharded domain name system resolution records that fail to be distributed; triggering, according to the second sharded domain name system resolution records, a failure command to a task scheduling module; and issuing, by the task scheduling module, the domain name system resolution records for compensation.
[0135] The electronic device can execute program codes of the following steps in the processing method of domain name system resolution records: issuing, by the task scheduling module, the domain name system resolution records for compensation includes: obtaining current domain name system resolution records of a subdomain corresponding to the second sharded domain name system resolution records; and issuing, by the task scheduling module, the current domain name system resolution records to the resolution nodes.
[0136] The electronic device can execute program codes of the following steps in the processing method of domain name system resolution records: after a first shard domain name system resolution record in a central distribution queue is distributed to a resolution node of a domain name system by a distribution node in a plurality of distribution nodes of a resolution record distribution system, the method further includes: if a new request for the resolution node is detected, creating an initial resolution node according to the new request and determining a target timestamp, wherein the target timestamp is a timestamp corresponding to the time when the initial resolution node is created; obtaining a data mirror corresponding to full domain name system resolution records before the target timestamp from a target system, wherein the target system is used to store domain name system resolution records; initializing the initial resolution node according to the data mirror to obtain a processed initial resolution node; obtaining incremental domain name system resolution records after the target timestamp from the target system, and performing incremental compensation processing on the processed initial resolution node according to the incremental domain name system resolution records to obtain a target resolution node.
[0137] The electronic device can execute program codes of the following steps in the processing method of domain name system resolution records: after a first shard domain name system resolution record in a central distribution queue is distributed to a resolution node of a domain name system by a distribution node in a plurality of distribution nodes of a resolution record distribution system, the method further includes: receiving an access request triggered by a target object through a target interface, wherein the access request at least includes a target domain name of an object to be accessed by the target object and a target region corresponding to the access request; determining a target IP address corresponding to the target domain name from the domain name system resolution records through a resolution node corresponding to the target region; and pushing an interface corresponding to the target IP address to the target object.
[0138] Optionally, FIG. 6 is a structural block diagram of an electronic device according to an embodiment of the present application. As shown in FIG. 6, the electronic device 20 can include one or more (only one is shown in FIG. 6) processors 202, a memory 204. The electronic device 20 can further include a storage controller for controlling and managing the memory 204, and can further include a peripheral interface for connecting a radio frequency module, an audio module, and a display screen, etc.
[0139] The memory can be configured to store software programs and modules, such as program instructions / modules corresponding to the domain name system resolution record processing method and device in the embodiments of the present application. The processor executes various functions and data processing by running the software programs and modules stored in the memory, that is, implements the domain name system resolution record processing method described above. The memory can include a high-speed random access memory, and can further include a non-volatile memory, such as one or more magnetic storage devices, flash memories, or other non-volatile solid-state memories. In some examples, the memory can further include a memory remotely arranged with respect to the processor, which can be connected to the electronic device 20 through a network. Examples of the network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and a combination thereof.
[0140] The processor can call information and applications stored in the memory through the transmission device to perform the following steps: obtaining a plurality of sharded domain name system resolution records by performing data sharding on a plurality of domain name system resolution records according to a subdomain name dimension through a resolution record distribution system, wherein the sharded domain name system resolution records are used to record a mapping relationship between domain name information and an IP address in the domain name system; and distributing the plurality of sharded domain name system resolution records to resolution nodes of the domain name system through the resolution record distribution system.
[0141] The processor can call information and applications stored in the memory through the transmission device to perform the following steps: obtaining a plurality of sharded domain name system resolution records by performing data sharding on a plurality of domain name system resolution records according to a subdomain name dimension through a resolution record distribution system, wherein the sharded domain name system resolution records are used to record a mapping relationship between domain name information and an IP address in the domain name system; and distributing the plurality of sharded domain name system resolution records to resolution nodes of the domain name system through the resolution record distribution system.
[0142] The processor can call information and applications stored in the memory through the transmission device to perform the following steps: obtaining a plurality of sharded domain name system resolution records by performing data sharding on a plurality of domain name system resolution records according to a subdomain name dimension through a resolution record distribution system, wherein the sharded domain name system resolution records are used to record a mapping relationship between domain name information and an IP address in the domain name system; and distributing the plurality of sharded domain name system resolution records to resolution nodes of the domain name system through the resolution record distribution system.
[0143] Optionally, the processor can further execute program codes of the following steps: distributing, by the task scheduling module in the resolution record distribution system, the sharded domain name system resolution record in the plurality of sharded domain name system resolution records to the central distribution queue corresponding to the subdomain name in the sharded domain name system resolution record, including: determining the task distribution queue corresponding to the subdomain name of the target sharded domain name system resolution record, and synchronously distributing the target sharded domain name system resolution record to the task distribution queue, wherein the task distribution queue is deployed in the task scheduling module, and the target sharded domain name system resolution record is a sharded domain name system resolution record in the plurality of sharded domain name system resolution records; processing the sharded domain name system resolution record through the task distribution queue to obtain a processed domain name system resolution record, wherein the processed domain name system resolution record is a domain name system resolution record that can be processed by the resolution node; and distributing the processed domain name system resolution record to the central distribution queue through the task distribution queue.
[0144] Optionally, the processor can further execute program codes of the following steps: processing the sharded domain name system resolution record through the task distribution queue to obtain a processed domain name system resolution record, including: obtaining a target data structure corresponding to the domain name system resolution record stored by the resolution node; performing format conversion on the sharded domain name system resolution record according to the target data structure to obtain a converted domain name system resolution record; and filtering the data in the converted domain name system resolution record to obtain the processed domain name system resolution record.
[0145] Optionally, the processor can further execute program codes of the following steps: obtaining, by the task scheduling module in the resolution record distribution system, a plurality of domain name system resolution records to be issued, including: triggering a resolution record issuing task when it is detected that there is a new domain name system resolution record in the target system; and obtaining, by the task scheduling module, a plurality of domain name system resolution records from the target system based on the resolution record issuing task.
[0146] Optionally, the processor can further execute program codes of the following steps: distributing, by the distribution node in the plurality of distribution nodes of the resolution record distribution system, the first sharded domain name system resolution record in the central distribution queue to the resolution node of the domain name system, including: reading, by the distribution node in the plurality of distribution nodes, the sharded domain name system resolution record to be issued from the central distribution queue; determining a plurality of resolution nodes corresponding to the distribution node in the plurality of distribution nodes; and distributing, by the distribution node in the plurality of distribution nodes, the sharded domain name system resolution record to be issued to the plurality of resolution nodes.
[0147] Optionally, the processor can further execute program codes of the following steps: when the first domain name system resolution record in the central distribution queue is distributed to the resolution node of the domain name system by the distribution node of the plurality of distribution nodes of the resolution record distribution system, the method further comprises: if the target distribution node fails to distribute the first domain name system resolution record in the central distribution queue, determining a second domain name system resolution record of the distribution failure; triggering a failure command to the task scheduling module according to the second domain name system resolution record; and compensating and issuing the domain name system resolution record by the task scheduling module.
[0148] Optionally, the processor can further execute program codes of the following steps: compensating and issuing the domain name system resolution record by the task scheduling module comprises: obtaining the current domain name system resolution record of the subdomain name corresponding to the second domain name system resolution record; and issuing the current domain name system resolution record to the resolution node by the task scheduling module.
[0149] Optionally, the processor can further execute program codes of the following steps: after the first domain name system resolution record in the central distribution queue is distributed to the resolution node of the domain name system by the distribution node of the plurality of distribution nodes of the resolution record distribution system, the method further comprises: if a new request for the resolution node is detected, creating an initial resolution node according to the new request and determining a target timestamp, wherein the target timestamp is a timestamp corresponding to the creation; obtaining a data mirror corresponding to the full domain name system resolution record before the target timestamp from the target system, wherein the target system is used to store the domain name system resolution record; initializing the initial resolution node according to the data mirror to obtain a processed initial resolution node; obtaining the incremental domain name system resolution record after the target timestamp from the target system, and performing incremental compensation processing on the processed initial resolution node according to the incremental domain name system resolution record to obtain a target resolution node.
[0150] Optionally, the processor can further execute program codes of the following steps: after the first domain name system resolution record in the central distribution queue is distributed to the resolution node of the domain name system by the distribution node of the plurality of distribution nodes of the resolution record distribution system, the method further comprises: receiving an access request triggered by a target object through a target interface, wherein the access request at least includes a target domain name of an object to be accessed by the target object and a target region corresponding to the access request; determining a target IP address corresponding to the target domain name from the domain name system resolution record by the resolution node corresponding to the target region; and pushing an interface corresponding to the target IP address to the target object.
[0151] Those skilled in the art can understand that the structure shown in FIG. 6 is only schematic, and the electronic device 20 can also be a terminal device such as a smart phone (for example, an Android phone, an iOS phone, etc.), a tablet computer, a palm computer, a Mobile Internet Device (MID), a PAD, etc. FIG. 6 does not limit the structure of the electronic device. For example, the electronic device 20 can further include more or fewer components (for example, a network interface, a display device, etc.) than those shown in FIG. 6, or have a different configuration from that shown in FIG. 6.
[0152] Those skilled in the art can understand that all or part of the steps of the various methods in the above embodiments can be completed by instructing the hardware related to the terminal device by a program, and the program can be stored in a computer readable storage medium, which can include a flash disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk or an optical disk, etc.
[0153] Embodiment 5
[0154] The embodiments of the present application further provide a computer program product. Optionally, in the embodiment, the computer program product can be used to save the program code executed by the domain name system resolution record processing method provided in Embodiment 1.
[0155] Optionally, in the embodiment, the computer program product can be located in any one of the computer terminals in the computer terminal group in the computer network, or in any one of the mobile terminals in the mobile terminal group.
[0156] The serial numbers of the embodiments of the present application are only for description, and do not represent the advantages or disadvantages of the embodiments.
[0157] In the above embodiments of the present application, the description of each embodiment has its own focus, and the parts not described in detail in a certain embodiment can be referred to the related description of other embodiments.
[0158] In the several embodiments of the present application, it should be understood that the disclosed technology can be implemented in other ways. Of course, the device embodiment described above is only schematic. For example, the division of units is only a logical function division, and there can be another division manner in actual implementation. For example, a plurality of units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the coupling or direct coupling or communication connection between the units shown or discussed can be indirect coupling or communication connection through some interfaces, units or modules, and can be electrical or other forms.
[0159] The units described as separate components may or may not be physically separate, and the components displayed as units may or may not be physical units, i.e. may be located in one place, or may be distributed to multiple network units. Part or all of the units may be selected to achieve the purpose of the embodiment scheme according to actual needs.
[0160] In addition, the functional units in each embodiment of the present application can be integrated in one processing unit, or each unit can be physically present alone, or two or more units can be integrated in one unit. The integrated unit can be realized in the form of hardware or in the form of a software functional unit.
[0161] The integrated unit, if realized in the form of a software functional unit and sold or used as an independent product, can be stored in a computer readable storage medium. Based on this understanding, the technical solutions of the present application essentially or the part that contributes to the prior art or the whole or part of the technical solutions can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes a plurality of instructions for causing a computer device (which can be a personal computer, a server or a network device, etc.) to execute all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: a U disk, a read-only memory (ROM, Read-Only Memory), a random access memory (RAM, Random Access Memory), a mobile hard disk, a magnetic disk or an optical disk, and various media that can store program codes.
[0162] The above is only the preferred embodiment of the present application, and it should be pointed out that for those skilled in the art, without departing from the principles of the present application, a number of improvements and refinements can be made, which should be considered as the protection scope of the present application. Industrial applicability
[0163] The processing method of domain name system resolution record provided by the embodiment of the present application, when the domain name system resolution record needs to be issued, a plurality of domain name system resolution records corresponding to the task scheduling module are obtained, and then the plurality of domain name system resolution records are data-fragmented according to the subdomain name dimension, and the plurality of fragmented domain name system resolution records are synchronously distributed to the resolution nodes of the domain name system. According to the subdomain name dimension, the data is fragmented, avoiding the problem of low concurrency and low performance caused by the data fragmentation according to the zone dimension in the prior art, and further achieving the technical effect of high-speed issuance of DNS resolution record.
Claims
1. A domain name system resolution record processing method, comprising: performing data sharding on a plurality of domain name system resolution records according to a subdomain name dimension by a resolution record distribution system to obtain a plurality of sharded domain name system resolution records, wherein the sharded domain name system resolution records are used to record a mapping relationship between domain name information and an IP address in a domain name system; distributing the plurality of sharded domain name system resolution records to resolution nodes of the domain name system by the resolution record distribution system.
2. The method of claim 1, wherein, performing data sharding on a plurality of domain name system resolution records according to a subdomain name dimension by a resolution record distribution system to obtain a plurality of sharded domain name system resolution records, comprising: obtaining, by a task scheduling module in the resolution record distribution system, a plurality of domain name system resolution records to be issued; performing data sharding on the plurality of domain name system resolution records according to a subdomain name dimension by the task scheduling module to obtain the plurality of sharded domain name system resolution records.
3. The method of claim 1, wherein, distributing the plurality of sharded domain name system resolution records to resolution nodes of the domain name system by the resolution record distribution system, comprising: distributing, by a task scheduling module in the resolution record distribution system, a sharded domain name system resolution record in the plurality of sharded domain name system resolution records to a central distribution queue corresponding to a subdomain name in the sharded domain name system resolution record, wherein the central distribution queue is deployed in the resolution record distribution system; distributing, by a distribution node in a plurality of distribution nodes of the resolution record distribution system, a first sharded domain name system resolution record in the central distribution queue to a resolution node of the domain name system.
4. The method of claim 3, wherein, distributing, by a task scheduling module in the resolution record distribution system, a sharded domain name system resolution record in the plurality of sharded domain name system resolution records to a central distribution queue corresponding to a subdomain name in the sharded domain name system resolution record, comprising: determining a task distribution queue corresponding to a subdomain name of a target sharded domain name system resolution record, and synchronously distributing the target sharded domain name system resolution record to the task distribution queue, wherein the task distribution queue is deployed in the task scheduling module, and the target sharded domain name system resolution record is a sharded domain name system resolution record in the plurality of sharded domain name system resolution records; processing the sharded domain name system resolution record by the task distribution queue to obtain a processed domain name system resolution record, wherein the processed domain name system resolution record is a domain name system resolution record that can be processed by the resolution node; distributing the processed domain name system resolution record to the central distribution queue by the task distribution queue.
5. The method of claim 4, wherein, processing the sharded domain name system resolution record by the task distribution queue to obtain a processed domain name system resolution record, comprising: obtaining a target data structure corresponding to a domain name system resolution record stored by the resolution node; performing format conversion on the sharded domain name system resolution record according to the target data structure to obtain a converted domain name system resolution record; performing screening on data in the converted domain name system resolution record to obtain the processed domain name system resolution record.
6. The method of claim 3, wherein, The method comprises the following steps: When it is detected that there is a new domain name system resolution record in the target system, triggering a resolution record delivery task; The task scheduling module obtains the plurality of domain name system resolution records from the target system based on the resolution record delivery task.
7. The method of claim 3, wherein, The first sharded domain name system resolution record in the central delivery queue is distributed to the resolution node of the domain name system by the distribution node in the plurality of distribution nodes of the resolution record delivery system, which comprises the following steps: The distribution node in the plurality of distribution nodes reads the sharded domain name system resolution record to be delivered from the central delivery queue; The plurality of resolution nodes corresponding to the distribution node in the plurality of distribution nodes are determined; The distribution node in the plurality of distribution nodes distributes the sharded domain name system resolution record to be delivered to the plurality of resolution nodes.
8. The method of claim 3, wherein, When the first sharded domain name system resolution record in the central delivery queue is distributed to the resolution node of the domain name system by the distribution node in the plurality of distribution nodes of the resolution record delivery system, the method further comprises: If the target distribution node fails to distribute the first sharded domain name system resolution record in the central delivery queue, a second sharded domain name system resolution record of the distribution failure is determined; According to the second sharded domain name system resolution record, a failure command is triggered to the task scheduling module; The task scheduling module compensates and delivers the domain name system resolution record.
9. The method of claim 8, wherein, The task scheduling module compensates and delivers the domain name system resolution record, which comprises the following steps: The current domain name system resolution record of the subdomain name corresponding to the second sharded domain name system resolution record is obtained; The current domain name system resolution record is delivered to the resolution node by the task scheduling module.
10. The method of claim 3, wherein, After the first sharded domain name system resolution record in the central delivery queue is distributed to the resolution node of the domain name system by the distribution node in the plurality of distribution nodes of the resolution record delivery system, the method further comprises: If a new request for the resolution node is detected, an initial resolution node is created according to the new request and a target timestamp is determined, wherein the target timestamp is the timestamp corresponding to the completion of the creation; The data mirror corresponding to the full-amount domain name system resolution record before the target timestamp is obtained from the target system, wherein the target system is used to store the domain name system resolution record; The initial resolution node is initialized according to the data mirror to obtain a processed initial resolution node; The incremental domain name system resolution record after the target timestamp is obtained from the target system, and the processed initial resolution node is incrementally compensated according to the incremental domain name system resolution record to obtain a target resolution node.
11. The method of any one of claims 3 to 10, wherein, After the first sharded domain name system resolution record in the central delivery queue is distributed to the resolution node of the domain name system by the distribution node in the plurality of distribution nodes of the resolution record delivery system, the method further comprises: receiving, by a target interface, an access request triggered by a target object, wherein the access request at least includes a target domain name of an object to be accessed by the target object and a target area corresponding to the access request; determining, by a resolution node corresponding to the target area, a target IP address corresponding to the target domain name from domain name system resolution records; pushing an interface corresponding to the target IP address to the target object. 12.A domain name system resolution record processing apparatus, comprising: a sharding unit configured to perform data sharding on a plurality of domain name system resolution records according to a subdomain name dimension by a resolution record distribution system, to obtain a plurality of sharded domain name system resolution records, wherein the sharded domain name system resolution records are used to record a mapping relationship between domain name information and an IP address in a domain name system; a distribution unit configured to distribute the plurality of sharded domain name system resolution records to resolution nodes of the domain name system by the resolution record distribution system. 13.An electronic device, comprising: a memory storing an executable program; a processor configured to run the program, wherein the program, when running, performs the domain name system resolution record processing method of any one of claims 1 to 11. 14.A computer program product comprising a stored computer program which, when executed by a processor, implements the domain name system resolution record processing method of any one of claims 1 to 11.
Citation Information
Patent Citations
Domain name resolution method, domain name system (DNS) server and domain name resolution system
CN103051740A
MSP domain name resolution configuration management method, system, device and medium
CN115378907A
Domain name resolution method and device based on content distribution network, equipment and medium
CN116708365A
Domain name configuration monitoring method and device, storage medium and electronic equipment
CN117221274A
Hashing name resolution requests according to an identified routing policy
US11303606B1