CN111917896B - 一种可信的域名解析方法、系统、电子设备及存储介质 - Google Patents
一种可信的域名解析方法、系统、电子设备及存储介质 Download PDFInfo
- Publication number
- CN111917896B CN111917896B CN202010583139.9A CN202010583139A CN111917896B CN 111917896 B CN111917896 B CN 111917896B CN 202010583139 A CN202010583139 A CN 202010583139A CN 111917896 B CN111917896 B CN 111917896B
- Authority
- CN
- China
- Prior art keywords
- domain name
- block chain
- level
- data warehouse
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供一种可信的域名解析方法、系统、电子设备及存储介质,该方法包括:获取用户域名解析请求,根据所述用户域名解析请求在区块链域名数据仓库中进行域名查询,得到域名解析结果;将所述域名解析结果发送到用户端;所述区块链域名数据仓库通过预设智能合约对顶级域区块链服务器中的域名数据进行同步存储。通过利用各个顶级域名服务器作为区块链节点。通过顶级域区块链服务器替代了根服务器,实现了各顶级域名的数据可信共享,解决了中心化DNS域名服务系统的问题,通过增加了区块链域名数据仓库,利用智能合约进行区块链域名数据仓库与顶级域区块链服务器数据同步,直接在区块链域名数据仓库中进行查询数据提高了域名解析的效率。
Description
技术领域
本发明涉及信息处理技术领域,尤其涉及一种可信的域名解析方法、系统、电子设备及存储介质。
背景技术
在互联网发展的初期,是由各种服务器、路由器和交换机等来构成基础网络结构的,这些网络结构之间通过IP地址来进行通信。而IP地址由于难以记忆的特点,只能先记录下来,在需要的时候再去查找,这对于人们来说很不方便。因此之后出现的DNS域名服务系统,不仅方便了人们去上网,也极大地推动了互联网的发展。现在,DNS域名服务系统已经成为了Internet中不可缺少的部分,它为世界各地的上网用户提供易于记忆的网络域名到IP地址的转换服务,成为了最庞大的分布式数据系统,每天为世界各地的IP查询请求提供域名解析映射。
但是现有技术中,关键基础设施的中心化DNS域名服务系统却存在着权力集中、权力滥用以及根服务器和镜像服务器分布失衡等问题。此外,随着当前互联网的不断发展,现有的DNS域名服务系统在安全方面面临着挑战,域名劫持等网络问题时有发生。
因此如何更好的实现域名解析已经成为了业界亟待解决的问题。
发明内容
本发明实施例提供一种可信的域名解析方法、系统、电子设备及存储介质,用以解决上述背景技术中提出的技术问题,或至少部分解决上述背景技术中提出的技术问题。
第一方面,本发明实施例提供一种可信的域名解析方法,包括:
获取用户域名解析请求,根据所述用户域名解析请求在区块链域名数据仓库中进行域名查询,得到域名解析结果;
将所述域名解析结果发送到用户端;
其中,所述区块链域名数据仓库通过预设智能合约对顶级域区块链服务器中的域名数据进行同步存储。
更具体的,所述方法还包括:
获取域名服务中心和TLD服务中心许可的顶级域名注册信息;
将所述顶级域名注册信息广播到所有顶级域区块链服务器节点,实现顶级域名数据上链。
更具体的,在所述实现顶级域名数据上链的步骤之后,所述方法还包括:
将所述顶级域名注册信息发送到区块链域名数据仓库,以供所述区块链域名数据仓库对所述顶级域名注册信息中的域名数据进行同步存储。
更具体的,所述方法还包括:
定期获取区块链域名数据仓库中各域名数据携带的域名内容哈希信息,对所有的域名内容哈希信息进行哈希处理,得到数据仓库哈希信息;
获取顶级域区块链服务器中的全局哈希信息,通过所述全局哈希信息对所述数据仓库哈希信息进行校验;
若校验失败,则进行域名信息同步。
更具体的,所述方法还包括:
在获取域名注销请求时,根据所述域名注销请求携带的域名信息生成域名注销信息;
将所述域名注销信息广播到顶级域区块链服务器的各个节点,并将所述域名注销信息发送到区块链域名数据仓库和域名服务中心,以供区块链域名数据仓库和域名服务中心根据域名注销信息进行数据同步;
其中,所述域名注销信息中包含注销字段信息。
更具体的,根据所述用户域名解析请求在区块链域名数据仓库中进行域名查询,得到域名解析结果的步骤,具体包括:
在区块链域名数据仓库的查询层缓存中查询所述用户域名解析请求携带的域名所对应的网络之间互联的协议IP地址;
若区块链域名数据仓库的查询层缓存中查询失败,则向区块链域名数据仓库的数据层查询所述用户域名解析请求携带的域名所对应的网络之间互联的协议IP地址,得到域名解析结果,并将所述域名解析结果同步到区块链域名数据仓库的查询层缓存中。
第二方面,本发明实施例提供一种可信的域名解析系统,包括:
域名服务端、顶级域区块链服务器和区块链域名数据仓库;
所述域名服务端用于生成顶级域名注册信息,并将所述顶级域名注册信息发送到顶级域区块链服务器;
所述顶级域区块链服务器用于将所述顶级域名注册信息进行广播,实现顶级域名数据共识,并将顶级域名注册信息发送到区跨链域名数据仓库;
所述区块链域名数据仓库用于根据顶级域名注册信息中的域名数据进行同步存储,并根据用户域名解析请求进行域名查询,得到域名解析结果。
更具体的,所述顶级域区块链服务器还用于:
在获取域名注销请求时,根据所述域名注销请求携带的域名信息生成域名注销信息;
将所述域名注销信息广播到顶级域区块链服务器的各个节点,并将所述域名注销信息发送到区块链域名数据仓库和域名服务中心,以供区块链域名数据仓库和域名服务中心根据域名注销信息进行数据同步;
其中,所述域名注销信息中包含注销字段信息。
第三方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述可信的域名解析方法的步骤。
第四方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所述可信的域名解析方法的步骤。
本发明实施例提供的一种可信的域名解析方法、系统、电子设备及存储介质,通过利用各个顶级域名服务器作为区块链节点。通过顶级域区块链服务器替代了根服务器,实现了各顶级域名的数据可信共享,解决了中心化DNS域名服务系统存在的权力集中、权力滥用以及根服务器和镜像服务器分布失衡,同时在顶级域区块链服务器和用户终端之间增加了区块链域名数据仓库,利用智能合约进行区块链域名数据仓库与顶级域区块链服务器进行数据同步,在进行用户域名解析请求的过程中,直接在区块链域名数据仓库中进行查询数据而无需在顶级域区块链服务器中进行轮询,提高了域名解析的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例中所描述的可信的域名解析方法流程示意图;
图2为本发明一实施例中所描述的域名上链操作流程图;
图3为本发明一实施例所描述的基于许可链与基于根服务器的域名解析服务对比示意图;
图4为本发明一实施例在区块链中直接查询和在区块链域名数据仓库中直接查询的结果对比图;
图5为本发明一实施例所描述的在区块链中直接查询的一致性校验时间图;
图6为本发明一实施例所描述的在区块链域名数据仓库中直接查询的一致性校验时间图;
图7为本发明一实施例所描述的可信的域名解析系统结构示意图;
图8为本发明一实施例所描述的电子设备结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例中的可信的域名解析方法是一种基于区块链技术实现的可信的域名解析方法,而对于区块链来说,按照链的许可类型进行划分,分为许可链和非许可链。非许可链主要指公有链,任何个人或者组织都可以在不经许可的情况下加入公有链,并进行域名注册,这对于域名服务的管理来说是不合理的,因此本发明实施例选择了许可链。对于许可链来说,是指参与到区块链域名服务系统中的每个节点都是经过许可的,没有经过许可的节点是不可以接入该域名服务系统中的。对比于非许可区块链,许可区块链既加快了共识,提高了效率,减少了算力的浪费,又符合模型中链的节点需要许可管理的特点。
图1为本发明一实施例中所描述的可信的域名解析方法流程示意图,如图1所示,包括:
步骤S1,获取用户域名解析请求,根据所述用户域名解析请求在区块链域名数据仓库中进行域名查询,得到域名解析结果;
步骤S2,将所述域名解析结果发送到用户端;
其中,所述区块链域名数据仓库通过预设智能合约对顶级域区块链服务器中的域名数据进行同步存储。
具体的,本发明实施例中所描述的顶级域区块链服务器是各个顶级域名服务器基于区块链技术组成区块链顶级域名服务器。
本发明实施例中所描述的区块链顶级域名服务器负责对上链后的域名数据进行共识同步,实现域名数据的防篡改,具体的,区块链顶级域名服务器中可以具体由通用顶级域名(Generic Top-Level Domains,gTLDs)和国家地区顶级域名(Country Code Top-Level Domains,ccTLDs)构成,一个顶级域名服务器将保存着区块链上共识同步的域名与IP地址对照表,以及对于自己所权属的域名信息进行管理。域名和IP地址对照表是用来解析消息域名的,每条域名与其IP地址的映射关系都以资源记录的方式存放,资源记录通常由域名、IP地址、注册日期、更新日期、过期日期等组成。
本发明实施例中所描述的区块链域名数据仓库采用关系型数据库中使用较为广泛的Mysql数据库进行数据支持,关系型数据库对于查询的友好支持,将有利于之后的域名查询操作。域名数据仓库中将不会存储太多关于区块链自身的信息,而是存储主要关注的域名数据,之后将各顶级域名数据存储在一张数据库表中。所有的域名查询请求都先经过顶级域名数据表,之后去拿到相应的域名IP。
本发明实施例中所描述的区块链域名数据仓库通过预设智能合约对顶级域区块链服务器中的域名数据进行同步存储具体是指,当顶级域区块链服务器中的区块进行同步时,域名数据便在区块链中进行了同步。此时根据智能合约,域名数据经过数据同步方法被智能合约写入到了域名数据仓库中,为了保证区块链与区块链域名数据仓库的数据一致性,隔一段时间,智能合约调用算法去验证数据库的内容哈希和区块中哈希的一致性,若不一致,则进行域名数据内容的同步
在域名数据同步中,将利用智能合约对于区块链中更新数据的触发条件进行数据读取。这里我们使用增量同步的方式,比较了不同的数据同步操作,决定利用时间戳进行数据同步的判断,这样基本不影响业务系统。之后按照域名的不同上链操作,把域名数据同步到域名数据仓库中。
本发明实施例中得到域名解析结果的过程具体为,区块链域名数据仓库中设置有域名查询API接口,在解析查询中,将根据一个或多个字段来获取到对应的域名解析数据,满足查询的需求。收到域名查询请求时,去顶级域名表中进行查找,若是查找到域名数据,则返回顶级域名映射IP,得到域名解析结果,此时可以通过将区块链域名数据仓库直接将域名解析结果发送到用户端,或者由区块链域名数据仓库通过顶级域区块链服务器将域名解析结果转发到用户端。
本发明实施例通过利用各个顶级域名服务器来作为区块链节点。通过顶级域区块链服务器替代了根服务器,实现了各顶级域名的数据可信共享,解决了中心化DNS域名服务系统存在的权力集中、权力滥用以及根服务器和镜像服务器分布失衡,同时在顶级域区块链服务器和用户终端之间增加了区块链域名数据仓库,利用智能合约进行区块链域名数据仓库与顶级域区块链服务器进行数据同步,在进行用户域名解析请求的过程中,直接在区块链域名数据仓库中进行查询数据而无需在顶级域区块链服务器中进行轮询,提高了域名解析的效率。
在上述实施例的基础上,所述方法还包括:
获取域名服务中心和TLD服务中心许可的顶级域名注册信息;
将所述顶级域名注册信息广播到所有顶级域区块链服务器节点,实现顶级域名数据上链。
由于本发明实施例中所描述的顶级域区块链服务器是基于许可链来实现的,因此本申请中顶级域区块链服务器的各个节点的接入都需要经过域名服务中心的许可,提供顶级域名分配服务,防止域名的冲突,但是域名服务中心只负责链的构建管理,并不参数域名数据的共识同步。
而在获取域名服务中心许可的顶级域名注册信息后,每一个TLD域名服务中心进行数据审核许可,即将顶级域名注册信息进行数据的预处理,使其符合区块的数据结构,然后得到域名服务中心和TLD服务中心许可的顶级域名注册信息。
将所述顶级域名注册信息广播到所有顶级域区块链服务器节点,其他区块链节点进行投票共识产生区块。之后区块广播到整个区块链,区块链存储信息,完成顶级域名数据的上链操作。
图2为本发明一实施例中所描述的域名上链操作流程图,如图2所示,域名服务中心产生域名消息,并将消息进行数据的预处理,使其符合区块的数据结构。然后域名服务中心将数据处理后的交易广播到其他区块链节点,其他区块链节点进行投票共识产生区块。之后区块广播到整个区块链,区块链存储信息,完成域名数据的上链操作。
本发明实施例通过利用各个顶级域名服务器来作为区块链节点。通过顶级域区块链服务器替代了根服务器,实现了各顶级域名的数据可信共享,解决了中心化DNS域名服务系统存在的权力集中、权力滥用以及根服务器和镜像服务器分布失衡的问题。
在上述实施例的基础上,在所述实现顶级域名数据上链的步骤之后,所述方法还包括:
将所述顶级域名注册信息发送到区块链域名数据仓库,以供所述区块链域名数据仓库对所述顶级域名注册信息中的域名数据进行同步存储。
根据智能合约,在顶级域区块链服务器每次完成交易后,都会将顶级域名注册信息在区块链域名数据仓库进行同步,以保证顶级域区块链服务器与区块链域名数据仓库的数据一致性。
本发明实施例在每次区块链完成交易更新后,区块链域名数据仓库都进行数据同步,可以保证区块链域名数据仓库中存储数据和顶级域区块链服务器中数据的一致性,有效保证域名解析的正常进行。
在上述实施例的基础上,所述方法还包括:
定期获取区块链域名数据仓库中各域名数据携带的域名内容哈希信息,对所有的域名内容哈希信息进行哈希处理,得到数据仓库哈希信息;
获取顶级域区块链服务器中的全局哈希信息,通过所述全局哈希信息对所述数据仓库哈希信息进行校验;
若校验失败,则进行域名信息同步。
在上述实施例的基础上,节点将把上链的域名数据存储在区块中进行共识,区块中将存储区块链中上链的域名信息。另外将在每一条记录的交易中设置哈希值字段用以保存这一条记录的哈希值,即域名内容哈希信息,这里将利用哈希算法进行计算。
domainHash=HASH(domain name message)
此外,将额外设置一个全局哈希交易记录,放置各个顶级域名的最新消息哈希值的总体哈希值,用于区块链与区块链域名数据仓库中的数据快速一致性比较。
这里n代表顶级域名的个数。表1为区块交易数据结构,如表1所示。
表1
根据预设智能合约,定期对区块链域名数据和顶级域区块链服务器中的域名数据进行一致性验证,智能合约调用算法去验证数据库的域名内容哈希信息和区块中全局的一致性,若不一致,则进行域名数据内容的同步。
本发明实施例通过顶级域区块链服务器和区块链域名数据仓库数据一致性的验证,保证了区块链域名数据仓库和顶级域区块链服务器中的数据一致性,有效确保了域名解析的准确性。
在上述实施例的基础上,所述方法还包括:
在获取域名注销请求时,根据所述域名注销请求携带的域名信息生成域名注销信息;
将所述域名注销信息广播到顶级域区块链服务器的各个节点,并将所述域名注销信息发送到区块链域名数据仓库和域名服务中心,以供区块链域名数据仓库和域名服务中心根据域名注销信息进行数据同步;
其中,所述域名注销信息中包含注销字段信息。
在上述实施例的基础上,本发明实施例中域名数据上链除了注册外,还包括域名更新和域名注销。在域名系统中,注册是常见的情况,但是对于注销,也是不可缺少的操作,不然会浪费服务器资源以及域名资源。在本发明实施例中,各顶级域名一般是不需要注销的,若需要注销,则需域名服务中心的审核,之后顶级域名服务中心将信息发布到区块链网络。
在域名状态的变化过程中,由于区块链不支持数据的删除操作,因此在数据结构字段中增加域名状态(DomainStatus)字段,用来标注域名是否在使用(using)和已注销(cancelled)。using表示此域名正在被使用,此时域名可以进行更新以及停用注销;cancelled表示域名到期或被注销,域名状态变为已注销状态,域名服务中心可以重新分配此域名,重新使用后,便为重新注册,域名状态改为using。
本发明实施例通过注销字段信息的写入,保证了在区块链这一特殊情形下,能够有效保证域名的注册和注销,并保证状态改变能够实现共识,避免了域名无法解析或者解析错误的情形。
在上述实施例的基础上,根据所述用户域名解析请求在区块链域名数据仓库中进行域名查询,得到域名解析结果的步骤,具体包括:
在区块链域名数据仓库的查询层缓存中查询所述用户域名解析请求携带的域名所对应的网络之间互联的协议IP地址;
若区块链域名数据仓库的查询层缓存中查询失败,则向区块链域名数据仓库的数据层查询所述用户域名解析请求携带的域名所对应的网络之间互联的协议IP地址,得到域名解析结果,并将所述域名解析结果同步到区块链域名数据仓库的查询层缓存中。
本发明实施例中所描述的查询缓存层是为了便于查询,提升查询效率的常用域名数据存储的数据库,由于很多域名会经常反复的收到查询请求,可以将经常需要解析的域名预先存储到查询缓存层中,且将解析过的域名数据也同步存储到查询缓存层中,便于后续存储。
本发明实施例中查询缓存层的设置可以进一步提高域名解析的速度。
在上述实施例的基础上,图3为本发明一实施例所描述的基于许可链与基于根服务器的域名解析服务对比示意图,如图3所示,在现有的域名解析模型中,用户通过客户端去访问一个网址,请求会首先发给本地域名服务器,本地服务器在检查完自己是否存有相应的域名后,便通过迭代的方式去请求根域名服务器,根域名服务器返回顶级域名服务器的地址,顶级域名服务器再返回相应二级域名服务器的地址,依次迭代,之后本地域名服务器返回给客户端。而基于许可链的域名解析服务在本地域名服务器向上请求时,由于此时已经不设置根域名服务器,本地域名服务器直接向对应的顶级域名服务器请求。之后顶级域名服务器根据所查询的域名进行判断,若查询的是自己所对应的顶级域名,则直接返回所查询的二级域名IP;若查询的不是自己所对应的顶级域名,则返回所查询域名对应的顶级域名IP地址。之后本地域名服务器再去不断地迭代查询,最后返回,完成模型中域名的解析。
本发明实施例基于许可区块链的DNS域名服务模型,该模型可以在现有的DNS域名服务中加入区块链,利用各个顶级域名服务器来作为区块链节点,实现了各顶级域名的数据可信共享。
通过Hyperledger Fabric v1.4版本用go语言进行了链码的实现,对本发明提出的方案进行仿真。在域名查询上,对于在区块链中直接查询和在区块链域名数据仓库中直接查询进行了1000次的查询,图4为本发明一实施例在区块链中直接查询和在区块链域名数据仓库中直接查询的结果对比图,如图4所示,new是指在区块链域名数据仓库中直接查询的方案,old是在区块链中直接查询的方案,指可以看到,设计的流程极大地提高了区块链数据的查询速度。
一致性校验方面,新设计的方案流程和原先的流程进行时间上的比较,分别在区块链中有100到1000个域名的情况下进行一致性检验,图5为本发明一实施例所描述的在区块链中直接查询的一致性校验时间图,图6为本发明一实施例所描述的在区块链域名数据仓库中直接查询的一致性校验时间图,如图5和图6所示,可以看到,在区块链域名数据仓库中直接查询的方案大大降低了一致性校验的时间。
图7为本发明一实施例所描述的可信的域名解析系统结构示意图,如图7所示,包括:域名服务端710、顶级域区块链服务器720和区块链域名数据仓库730;
本发明实施例中还包括访问端740,访问端740用于发出用户域名解析请求并接收域名解析结果。
所述域名服务端710用于生成顶级域名注册信息,并将所述顶级域名注册信息发送到顶级域区块链服务器720;
所述顶级域区块链服务器720用于将所述顶级域名注册信息进行广播,实现顶级域名数据共识,并将顶级域名注册信息发送到区跨链域名数据仓库730;
所述区块链域名数据仓库730用于根据顶级域名注册信息中的域名数据进行同步存储,并根据用户域名解析请求进行域名查询,得到域名解析结果。
更具体的,所述顶级域区块链服务器720还用于:
在获取域名注销请求时,根据所述域名注销请求携带的域名信息生成域名注销信息;
将所述域名注销信息广播到顶级域区块链服务器的各个节点,并将所述域名注销信息发送到区块链域名数据仓库和域名服务中心,以供区块链域名数据仓库和域名服务中心根据域名注销信息进行数据同步;
其中,所述域名注销信息中包含注销字段信息。
本发明实施例提供的装置是用于执行上述各方法实施例的,具体流程和详细内容请参照上述实施例,此处不再赘述。
本发明实施例通过利用各个顶级域名服务器作为区块链节点。通过顶级域区块链服务器替代了根服务器,实现了各顶级域名的数据可信共享,解决了中心化DNS域名服务系统存在的权力集中、权力滥用以及根服务器和镜像服务器分布失衡,同时在顶级域区块链服务器和用户终端之间增加了区块链域名数据仓库,利用智能合约进行区块链域名数据仓库与顶级域区块链服务器进行数据同步,在进行用户域名解析请求的过程中,直接在区块链域名数据仓库中进行查询数据而无需在顶级域区块链服务器中进行轮询,提高了域名解析的效率。
图8为本发明一实施例所描述的电子设备结构示意图,如图8所示,该电子设备可以包括:处理器(processor)810、通信接口(Communications Interface)820、存储器(memory)830和通信总线840,其中,处理器810,通信接口820,存储器830通过通信总线840完成相互间的通信。处理器810可以调用存储器830中的逻辑指令,以执行如下方法:获取用户域名解析请求,根据所述用户域名解析请求在区块链域名数据仓库中进行域名查询,得到域名解析结果;将所述域名解析结果发送到用户端;其中,所述区块链域名数据仓库通过预设智能合约对顶级域区块链服务器中的域名数据进行同步存储。
此外,上述的存储器830中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:获取用户域名解析请求,根据所述用户域名解析请求在区块链域名数据仓库中进行域名查询,得到域名解析结果;将所述域名解析结果发送到用户端;其中,所述区块链域名数据仓库通过预设智能合约对顶级域区块链服务器中的域名数据进行同步存储。
本发明实施例提供一种非暂态计算机可读存储介质,该非暂态计算机可读存储介质存储服务器指令,该计算机指令使计算机执行上述各实施例提供的方法,例如包括:获取用户域名解析请求,根据所述用户域名解析请求在区块链域名数据仓库中进行域名查询,得到域名解析结果;将所述域名解析结果发送到用户端;其中,所述区块链域名数据仓库通过预设智能合约对顶级域区块链服务器中的域名数据进行同步存储。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (8)
1.一种可信的域名解析方法,其特征在于,包括:
获取用户域名解析请求,根据所述用户域名解析请求在区块链域名数据仓库中进行域名查询,得到域名解析结果;
将所述域名解析结果发送到用户端;
其中,所述区块链域名数据仓库通过预设智能合约对顶级域区块链服务器中的域名数据进行同步存储;
根据所述用户域名解析请求在区块链域名数据仓库中进行域名查询,得到域名解析结果的步骤,具体包括:
在区块链域名数据仓库的查询层缓存中查询所述用户域名解析请求携带的域名所对应的网络之间互联的协议IP地址;
若区块链域名数据仓库的查询层缓存中查询失败,则向区块链域名数据仓库的数据层查询所述用户域名解析请求携带的域名所对应的网络之间互联的协议IP地址,得到域名解析结果,并将所述域名解析结果同步到区块链域名数据仓库的查询层缓存中;
所述方法还包括:
获取域名服务中心和TLD服务中心许可的顶级域名注册信息;
将所述顶级域名注册信息广播到所有顶级域区块链服务器节点,实现顶级域名数据上链;
所述将所述域名解析结果发送到用户端,包括:
通过所述区块链域名数据仓库将所述域名解析结果发送到所述用户端;
或者,由所述区块链域名数据仓库通过所述顶级域区块链服务器将所述域名解析结果转发到所述用户端。
2.根据权利要求1所述可信的域名解析方法,其特征在于,在所述实现顶级域名数据上链的步骤之后,所述方法还包括:
将所述顶级域名注册信息发送到区块链域名数据仓库,以供所述区块链域名数据仓库对所述顶级域名注册信息中的域名数据进行同步存储。
3.根据权利要求1所述可信的域名解析方法,其特征在于,所述方法还包括:
定期获取区块链域名数据仓库中各域名数据携带的域名内容哈希信息,对所有的域名内容哈希信息进行哈希处理,得到数据仓库哈希信息;
获取顶级域区块链服务器中的全局哈希信息,通过所述全局哈希信息对所述数据仓库哈希信息进行校验;
若校验失败,则进行域名信息同步。
4.根据权利要求1所述可信的域名解析方法,其特征在于,所述方法还包括:
在获取域名注销请求时,根据所述域名注销请求携带的域名信息生成域名注销信息;
将所述域名注销信息广播到顶级域区块链服务器的各个节点,并将所述域名注销信息发送到区块链域名数据仓库和域名服务中心,以供区块链域名数据仓库和域名服务中心根据域名注销信息进行数据同步;
其中,所述域名注销信息中包含注销字段信息。
5.一种可信的域名解析系统,其特征在于,包括:域名服务端、顶级域区块链服务器和区块链域名数据仓库;
所述域名服务端用于生成顶级域名注册信息,并将所述顶级域名注册信息发送到顶级域区块链服务器;
所述顶级域区块链服务器用于将所述顶级域名注册信息进行广播,实现顶级域名数据共识,并将顶级域名注册信息发送到区块链域名数据仓库;
所述区块链域名数据仓库用于根据顶级域名注册信息中的域名数据进行同步存储,并根据用户域名解析请求进行域名查询,得到域名解析结果。
6.根据权利要求5所述可信的域名解析系统,其特征在于,所述顶级域区块链服务器还用于:
在获取域名注销请求时,根据所述域名注销请求携带的域名信息生成域名注销信息;
将所述域名注销信息广播到顶级域区块链服务器的各个节点,并将所述域名注销信息发送到区块链域名数据仓库和域名服务中心,以供区块链域名数据仓库和域名服务中心根据域名注销信息进行数据同步;
其中,所述域名注销信息中包含注销字段信息。
7.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至4任一项所述可信的域名解析方法的步骤。
8.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至4任一项所述可信的域名解析方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010583139.9A CN111917896B (zh) | 2020-06-23 | 2020-06-23 | 一种可信的域名解析方法、系统、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010583139.9A CN111917896B (zh) | 2020-06-23 | 2020-06-23 | 一种可信的域名解析方法、系统、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111917896A CN111917896A (zh) | 2020-11-10 |
CN111917896B true CN111917896B (zh) | 2022-09-16 |
Family
ID=73227841
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010583139.9A Active CN111917896B (zh) | 2020-06-23 | 2020-06-23 | 一种可信的域名解析方法、系统、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111917896B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115150355A (zh) * | 2021-03-15 | 2022-10-04 | 正链科技(深圳)有限公司 | 一种分布式域名的实现方法 |
CN113704248B (zh) * | 2021-07-12 | 2024-01-09 | 北京邮电大学 | 一种基于外置索引的区块链查询优化方法 |
CN114640513B (zh) * | 2022-03-04 | 2023-06-23 | 中国互联网络信息中心 | 一种基于信誉激励的域名滥用治理方法及系统 |
CN114915611A (zh) * | 2022-06-16 | 2022-08-16 | 北京有竹居网络技术有限公司 | 域名解析方法、域名解析结果存储方法及相关设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101170585A (zh) * | 2007-11-13 | 2008-04-30 | 中兴通讯股份有限公司 | 一种域名查询方法 |
CN101217576A (zh) * | 2008-01-18 | 2008-07-09 | 厦门纳网科技有限公司 | 动态域名解析系统及其动态解析方法 |
CN106161674A (zh) * | 2016-07-25 | 2016-11-23 | 宁圣金融信息服务(上海)有限公司 | 一种区块链域名解析装置 |
CN108366137A (zh) * | 2018-05-28 | 2018-08-03 | 北京奇虎科技有限公司 | 基于区块链对域名进行处理的方法以及根域名系统 |
CN108551494A (zh) * | 2018-01-30 | 2018-09-18 | 北京邮电大学 | 域名缓存方法及设备 |
CN108566449A (zh) * | 2018-04-17 | 2018-09-21 | 广州大学 | 基于区块链的域名解析数据管理方法、系统及存储系统 |
CN108833603A (zh) * | 2018-05-28 | 2018-11-16 | 北京奇虎科技有限公司 | 一种基于区块链实现域名解析的方法、服务器和系统 |
-
2020
- 2020-06-23 CN CN202010583139.9A patent/CN111917896B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101170585A (zh) * | 2007-11-13 | 2008-04-30 | 中兴通讯股份有限公司 | 一种域名查询方法 |
CN101217576A (zh) * | 2008-01-18 | 2008-07-09 | 厦门纳网科技有限公司 | 动态域名解析系统及其动态解析方法 |
CN106161674A (zh) * | 2016-07-25 | 2016-11-23 | 宁圣金融信息服务(上海)有限公司 | 一种区块链域名解析装置 |
CN108551494A (zh) * | 2018-01-30 | 2018-09-18 | 北京邮电大学 | 域名缓存方法及设备 |
CN108566449A (zh) * | 2018-04-17 | 2018-09-21 | 广州大学 | 基于区块链的域名解析数据管理方法、系统及存储系统 |
CN108366137A (zh) * | 2018-05-28 | 2018-08-03 | 北京奇虎科技有限公司 | 基于区块链对域名进行处理的方法以及根域名系统 |
CN108833603A (zh) * | 2018-05-28 | 2018-11-16 | 北京奇虎科技有限公司 | 一种基于区块链实现域名解析的方法、服务器和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111917896A (zh) | 2020-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111917896B (zh) | 一种可信的域名解析方法、系统、电子设备及存储介质 | |
CN107613041B (zh) | 基于区块链的域名管理系统、域名管理方法和域名解析方法 | |
CN105959433B (zh) | 一种域名解析方法及其域名解析系统 | |
CN106953905B (zh) | 域间目录共享方法及装置 | |
US11044262B2 (en) | Method, apparatus and system for anti-attacking in domain name system (DNS) | |
TWI652585B (zh) | 遠端查詢訊息的方法及伺服器 | |
CN109040337B (zh) | 一种信息查询方法、边缘服务器及信息查询系统 | |
CN102438278B (zh) | 移动通信网络的负载分配方法及负载分配装置 | |
US20160028847A1 (en) | Establishing caches that provide dynamic, authoritative dns responses | |
CN112600868B (zh) | 域名解析方法、域名解析装置及电子设备 | |
CN101924785A (zh) | 数据的上传方法、下载方法和系统 | |
CN107656981A (zh) | 一种基于标识技术的数据共享和管理方法及系统 | |
CN112134967B (zh) | 一种基于共治链的域名解析方法及装置 | |
WO2022062025A1 (zh) | 一种面向全联网的标识解析方法及装置 | |
CN101442558A (zh) | 一种为p2sp网络提供索引服务的方法和系统 | |
CN106973125A (zh) | 域名解析实现方法及装置 | |
CN108076081B (zh) | 一种业务数据的同步方法、装置和系统 | |
CN108737586B (zh) | 一种域名查询服务的灾备切换方法和装置 | |
WO2017000669A1 (zh) | 域名资源记录缓存的集中管控方法、装置和相关设备 | |
CN103533094A (zh) | 标码一体机及标码系统 | |
CN116170403A (zh) | 基于Handle系统的去中心化域名解析方法及装置 | |
CN112187900B (zh) | 基于区块链共享缓存的dns数据更新方法和系统 | |
CN115277196A (zh) | 一种分布式资源发现统一管理方法 | |
CN112989255B (zh) | 一种标识解析系统 | |
CN103685453A (zh) | 一种云存储系统中元数据的获取方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |