CN107613040A - 一种域名系统 dns 服务器查询的方法和装置 - Google Patents
一种域名系统 dns 服务器查询的方法和装置 Download PDFInfo
- Publication number
- CN107613040A CN107613040A CN201710865109.5A CN201710865109A CN107613040A CN 107613040 A CN107613040 A CN 107613040A CN 201710865109 A CN201710865109 A CN 201710865109A CN 107613040 A CN107613040 A CN 107613040A
- Authority
- CN
- China
- Prior art keywords
- dns server
- caching
- data
- itself
- domain name
- 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.)
- Pending
Links
Abstract
本发明公开了一种域名系统DNS服务器查询的方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括DNS服务器根据接收到的查询指令,在自身的缓存中查询,查询指令用于查询DNS服务器的缓存中的数据;DNS服务器将查询的结果保存在自身的缓存中,及发送给终端。该实施方式克服了现有技术中因域名的配置庞多且复杂而导致的响应速度慢、并行扩展差以及实时性差的技术问题,达到了减少文件配置、提高实时性的技术效果,有利于增强查询的响应速度,使并行扩展保持一致。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种域名系统DNS服务器查询的方法和装置。
背景技术
DNS(Domain Name System,域名系统)是互联网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。
在传统的DNS服务器中,采用的是文件存储域名和IP地址的映射关系,然后用户进行手工书写配置文件,当有变更时,则需要重新更改配置文件,并将配置文件复制到本地进行扩展。
在实现本发明的过程中,发明人发现现有技术中至少存在如下问题:
域名的配置庞多且复杂,导致对DNS服务器的规则要求增多,从而需要了解更多的配置细节;DNS服务器在进行查询时,存在响应速度慢、并行扩展差以及实时性差的问题。
发明内容
有鉴于此,本发明实施例提供一种域名系统DNS服务器查询的方法和装置,能够解决现有技术中因域名的配置庞多且复杂而导致的响应速度慢、并行扩展差以及实时性差的问题。
为实现上述目的,根据本发明实施例的一个方面,提供了一种域名系统DNS服务器查询的方法。
本发明实施例一种域名系统DNS服务器查询的方法包括:DNS服务器根据接收到的查询指令,在自身的缓存中查询,查询指令用于查询DNS服务器的缓存中的数据;DNS服务器将查询的结果保存在自身的缓存中,及发送给终端。
可选地,在本发明的实施例中DNS服务器根据接收到的查询指令,在自身的缓存中查询的步骤包括:DNS服务器在自身的缓存的数据中查询,或在自身的缓存中保存的查询的结果中查询。
可选地,在本发明的实施例中查询指令是根据域名信息和查询类型生成的一个索引,域名信息和查询类型是从接收到的终端数据包中解析出的。
可选地,在本发明的实施例中在DNS服务器根据接收到的查询指令,在自身的缓存中查询的步骤之前,还包括:DNS服务器读取数据库中的数据,将数据库中的数据保存在自身的缓存中;DNS服务器监听数据库中的数据,以使自身的缓存中的数据与数据库中的数据一致。
可选地,在本发明的实施例中在DNS服务器根据接收到的查询指令,在自身的缓存中查询的步骤之前,还包括:服务发现组件从集群服务中获取域名信息和网络地址信息,根据域名信息和网络地址信息生成映射关系,将映射关系保存在数据库中;服务发现组件监听集群服务中的信息,以使数据库中的映射关系与由域名信息和网络地址信息生成的映射关系一致。
为实现上述目的,根据本发明实施例的另一方面,提供了一种域名系统DNS服务器查询的装置。
本发明实施例一种域名系统DNS服务器查询的装置包括:查询模块,用于DNS服务器根据接收到的查询指令,在自身的缓存中查询,查询指令用于查询DNS服务器的缓存中的数据;处理模块,用于DNS服务器将查询的结果保存在自身的缓存中,及发送给终端。
可选地,在本发明的实施例中查询模块用于:DNS服务器在自身的缓存的数据中查询,或在自身的缓存中保存的查询的结果中查询。
可选地,在本发明的实施例中查询指令是根据域名信息和查询类型生成的一个索引,域名信息和查询类型是从接收到的终端数据包中解析出的。
可选地,在本发明的实施例中装置中还包括第一保存模块,用于:DNS服务器读取数据库中的数据,将数据库中的数据保存在自身的缓存中;DNS服务器监听数据库中的数据,以使自身的缓存中的数据与数据库中的数据一致。
可选地,在本发明的实施例中装置中还包括第二保存模块,用于:服务发现组件从集群服务中获取域名信息和网络地址信息,根据域名信息和网络地址信息生成映射关系,将映射关系保存在数据库中;服务发现组件监听集群服务中的信息,以使数据库中的映射关系与由域名信息和网络地址信息生成的映射关系一致。
为实现上述目的,根据本发明实施例的再一方面,提供了一种域名系统DNS服务器查询的电子设备。
本发明实施例的一种电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例的域名系统DNS服务器查询的方法。
为实现上述目的,根据本发明实施例的又一方面,提供了一种计算机可读介质。
本发明实施例的一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明实施例的域名系统DNS服务器查询的方法。
上述发明中的一个实施例具有如下优点或有益效果:因为采用在DNS自身的缓存中进行查询,并将查询的结果保存在缓存中的技术手段,所以克服了现有技术中因域名的配置庞多且复杂而导致的响应速度慢、并行扩展差以及实时性差的技术问题,进而达到减少文件配置、提高实时性的技术效果,有利于增强查询的响应速度,使并行扩展保持一致。通过对DNS缓存中的数据保存及更新,提高了查询的实时性,进而使DNS集群服务的扩展增强。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的一种域名系统DNS服务器查询的方法的主要流程的示意图;
图2是根据本发明实施例的域名系统DNS服务器查询的框架示意图;
图3是根据本发明实施例对数据库中的数据进行更新的方法示意图;
图4是根据本发明实施例的域名系统DNS服务器查询的一方法示意图;
图5是根据本发明实施例的域名系统DNS服务器查询的另一方法示意图;
图6是根据本发明实施例的更新域名系统DNS服务器缓存中数据的方法示意图;
图7是根据本发明实施例的域名系统DNS服务器查询的装置的主要模块的示意图;
图8是本发明实施例可以应用于其中的示例性系统架构图;
图9是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是根据本发明实施例的一种域名系统DNS服务器查询的方法的主要流程的示意图,如图1所示,本发明实施例的一种域名系统DNS服务器查询的方法主要包括如下步骤:
步骤S101:DNS服务器根据接收到的查询指令,在自身的缓存中查询,查询指令用于查询DNS服务器的缓存中的数据。根据接收到查询指令在DNS服务器自身的缓存中进行查询,进而快速确定查询结果,有效的提高了查询的响应速度。该查询指令是根据域名信息和查询类型生成的一个索引,域名信息和查询类型是从接收到的终端数据包中解析出的。
在本发明的一些实施方式中,DNS服务器根据接收到的查询指令,在自身的缓存中查询的步骤包括:DNS服务器在自身的缓存的数据中查询,或在自身的缓存中保存的查询的结果中查询。可见,在自身的缓存中进行查询时分为两种情况,即在缓存的数据中进行查询,或在之前保存在缓存中的查询结果中进行查询,进而有效提高查询的响应速度。需要说明的是,在另一些实施方式中,如果在上述两种情况中均无法查询到结果时,还可以根据查询指令,直接在数据库中进行查询,然后返回查询的结果。需要注意的是,为了提高查询的响应速度,优先从保存在缓存中的查询结果中进行查询,只有当该查询结果中没有查询到相应的数据时,再在缓存的数据中进行查询。
在本发明的一些实施方式中,还需要将数据库中的数据保存在DNS服务器的缓存中,以便后续进行查询,因此,在DNS服务器根据接收到的查询指令,在自身的缓存中查询的步骤之前,还包括:DNS服务器读取数据库中的数据,将数据库中的数据保存在自身的缓存中;DNS服务器监听数据库中的数据,以使自身的缓存中的数据与数据库中的数据一致。从而使缓存中的数据和数据库中的数据实时保持一致,当数据库中的数据发生变化是,及时同步到缓存中。需要指出的是,在保证数据一致性的同时,可以采用不老化删除数据的方式来处理DNS服务器的缓存中的数据,即仅根据数据库中的数据的变化来更新DNS服务器的缓存中的数据,不对DNS服务器的缓存中的数据进行删除操作(仅在达到DNS服务器的缓存阈值时随机将数据少量删除),以保证DNS服务器的缓存中的数据足够多,从而提高查询的响应速度。
在本发明的另一些实施方式中,还需要将集群服务中的有效数据保存在数据库中,以便后续进行查询,因此,在DNS服务器根据接收到的查询指令,在自身的缓存中查询的步骤之前,还包括:服务发现组件从集群服务中获取域名信息和网络地址信息,根据域名信息和网络地址信息生成映射关系,将映射关系保存在数据库中;服务发现组件监听集群服务中的信息,以使数据库中的映射关系与由域名信息和网络地址信息生成的域名和网络地址的映射关系一致。从而将集群服务中的变化情况实时的更新到数据库中。
步骤S102:DNS服务器将查询的结果保存在自身的缓存中,及发送给终端。将查询到的结果保存在DNS服务器的缓存中,从而在下次查询时,可以直接使用该查询的结果,提高了查询响应的速度。
图2是根据本发明实施例的域名系统DNS服务器查询的框架示意图,如图2所示,本发明分为四个部分,即集群服务部分,service to DNS(即上述的服务发现组件)部分,Etcd集群(即上述的数据库)部分,及DNS server(即上述的DNS服务器)部分。集群服务是由用户创建的一个服务,会有命名空间信息和服务名称信息,这两个信息确定了服务在集群中的唯一性,并且域名也是这两个信息的组合(域名只是一个名字,只要保证局部唯一就好了。例如集群系统命名空间(例如ns1)和服务的名字(svc1)的组合是全系统唯一的),所以域名在一个集群中是唯一的。下面对本发明中涉及的技术术语做详尽解释:
DNS(Domain Name System,域名系统):通过域名系统用户可以通过域名访问服务,而不是直接访问难记的IP数串。
Etcd:是用Go语言编写的,使用Raft一致性算法来管理高可用日志。Etcd支持服务发现,也就是说有数据变更时,会及时通知并行扩展的DNS服务器。
Raft:是一种分布式一致性算法,Etcd实现的基础,保证集群数据的一致性。
服务应用:在集群中由用户创建,每个服务有不同的命名空间和名称,而每个服务有对应提供服务的后端。提供了具体服务的对象。
图3是根据本发明实施例对数据库中的数据进行更新的方法示意图,如图3所示,service to DNS组件(该组件是一个进程,支持分布式,当然也可以部署多个)会实时监控(该监控由Etcd集群的客户端提供,通过调用客户端的库函数(相当于向服务器订阅变更通知)来实现)集群中服务的创建、删除、变更,然后将变化后的数据同步到Etcd集群中,具体的,如果是创建服务,service to DNS组件会自动查询匹配的后端,取出后端对应的IP地址,然后根据域名信息和IP地址信息生成一个映射关系,并将该映射关系写入到Etcd集群中;如果是删除服务,或者服务对应的后端删除了,那么service to DNS组件会自动更新域名信息和IP地址的映射关系,并将更新后的映射关系及时的更新到Etcd集群中;如果是变更服务,分为两种情况,一个是异步的监控任务,即检测集群服务中的服务或后端的变化,实时将变化后的映射关系写入到Etcd集群中;另一个是周期性的任务,会每隔一段时间读取集群中所有的服务和后端,从而生成域名信息,然后和Etcd集群中的域名信息做匹配,当匹配不一致时,根据该生成域名信息生成新的映射关系,并写入到Etcd集群中,以防止数据不一致。
需要指出的是,在写入Etcd集群时由于某种特殊原因(例如网络问题)导致写入失败,上述的第二种周期性的任务可以有效的确保这种失败会得到修正。
具体的实施方式为,读取并判定配置,初始化日志,然后连接Etcd集群及服务的集群(即图1中集群服务),启动监控任务实时检测集群中service或者后端的变化(即上述第一种情况),在运行一段时候之后启动周期同步任务同步集群服务与Etcd数据(即上述第二种情况),从而使Etcd集群中的数据与集群服务中的实时保持一致。
图4是根据本发明实施例的域名系统DNS服务器查询的一方法示意图,由图可知,本方法描述的是,首先将Etcd集群中的数据同步到DNS服务器的缓存中,然后实时检测Etcd集群中的数据的变化并同步到DNS服务器的缓存。
具体的,DNS服务器首先根据用户的配置(该配置主要是用于启动DNS服务器),链接Etcd集群(即上述数据库),并读取与该用户对应的域名信息并放在自身的缓存中,然后启动实时监听任务,对Etcd集群进行监听,同步Etcd集群与缓存中的数据。需要注意的是,该过程在图4上具体表示为:读取并判断配置,然后初始化日志,连接Etcd并读取数据到缓存,实时监控Etcd的域名及IP状态变化,最后还需要监听53号端口(也可以是用户配置的端口)对外提供服务。
通过上述将Etcd集群中的数据保存到DNS缓存中的操作之后,再接收到新的请求时,不用在查询Etcd集群中的数据,而是直接查询DNS缓存中的数据,从而提高响应的速度。
进一步的,还需要将查出的结果保存到DNS服务器的缓存中,也就是说,DNS服务器的缓存中保存着两种数据,一种是从Etcd集群中保存过来的,另一种是根据查询信息查到的结果数据。并且对缓存的数据进行不老化删除处理,也就是说查询过的域名会一直在缓存中,以提高查询的速度,从而达到提高响应性能的目的。(经过测试发现,从发生变化到能查出变更预期的结果在20ms以内,同时整个过程是自动完成的不需要人工的干涉,进而降低了维护的成本。)
图5是根据本发明实施例的域名系统DNS服务器查询的另一方法示意图,由图可知是一次完整查询的过程,DNS服务器首先从终端数据包中解析出域名信息和查询的类型信息(即图中示出的提取查询的域名及访问模式),并根据该两种信息生成一个数据缓存的索引,然后查询DNS服务器的缓存中的数据(即图中示出的查询DNS数据缓存中的数据),判断是否命中(即图中示出的命中),如果命中,简单处理返回给用户(即图中示出的对answer域进行处理);如果没有命中,从数据库查询结果(即图中示出的查询Etcd缓存的数据),并将返回的结果保存到DNS服务器的缓存中(即图中示出的生成DNS数据结果并放到DNS数据缓存中),下次查询直接从缓存中取得,提高响应速度。还需要进行一些随机化的处理(即图中示出的命中结果随机化),最后将查询结果返回给用户(即图中示出的返回加过给客户端)。
需要指出的是,为了进一步提高性能,需要对DNS服务器的缓存中的数据进行不老化删除处理,即只有到了缓存的数量限制才会随机删除一些来释放空间。
图6是根据本发明实施例的更新域名系统DNS服务器缓存中数据的方法示意图,如图6所示,是DNS服务器缓存的数据不老化删除的过程,当DNS服务器检测到数据库中数据发生变化后,开始更新自身缓存中的数据。首先是检测到数据变更(增、删、改),即检测到数据库中的数据发生变化,将变更转换为域名信息数据(即仅通过域名信息来对DNS服务器缓存中数据进行更新),然后判断缓存中是否由此域名(即判断DNS服务器缓存中保存的查询结果中是否有此域名,也就是说判断此域名是否被查询过),如果否,说明没有被查询过,直接结束;如果是,则继续判断缓存中是否有Answer字段信息(即检查是否存在与该域名对应的有效的IP信息),如果否,则说明没有对应的有效的信息,则直接删除结果缓存的数据(即保存在缓存中的查询结果);如果是,进一步判断域名IP增加(即判断是增加操作还是删除操作),当判断结果为是时,将IP数据添加到Answer字段中,当判断结果为否时,找到Answer中的IP将其删除(这样做的目的是,在下次查询的时候会将从缓存中查询的结果保存在缓存中,从而更新结果到保存的查询结果中)。从而完成对DNS服务器缓存中数据的更新操作。
根据本发明实施例的域名系统DNS服务器查询的方法可以看出,因为采用在DNS自身的缓存中进行查询,并将查询的结果保存在缓存中的技术手段,所以克服了现有技术中因域名的配置庞多且复杂而导致的响应速度慢、并行扩展差以及实时性差的技术问题,进而达到减少文件配置、提高实时性的技术效果,有利于增强查询的响应速度,使并行扩展保持一致。通过对DNS缓存中的数据保存及更新,提高了查询的实时性,进而使DNS集群服务的扩展增强。
图7是根据本发明实施例的域名系统DNS服务器查询的装置的主要模块的示意图,如图7所示,本发明实施例的域名系统DNS服务器查询的装置700主要包括:查询模块701,和处理模块702。其中:
查询模块701,用于DNS服务器根据接收到的查询指令,在自身的缓存中查询,查询指令用于查询DNS服务器的缓存中的数据;处理模块702,用于DNS服务器将查询的结果保存在自身的缓存中,及发送给终端。
可选地,在本发明的实施例中查询模块701用于:DNS服务器在自身的缓存的数据中查询,或在自身的缓存中保存的查询的结果中查询。
可选地,在本发明的实施例中查询指令是根据域名信息和查询类型生成的一个索引,域名信息和查询类型是从接收到的终端数据包中解析出的。
可选地,在本发明的实施例中装置中还包括第一保存模块(图中未示出),用于:DNS服务器读取数据库中的数据,将数据库中的数据保存在自身的缓存中;DNS服务器监听数据库中的数据,以使自身的缓存中的数据与数据库中的数据一致。
可选地,在本发明的实施例中装置中还包括第二保存模块(图中未示出),用于:服务发现组件从集群服务中获取域名信息和网络地址信息,根据域名信息和网络地址信息生成映射关系,将映射关系保存在数据库中;服务发现组件监听集群服务中的信息,以使数据库中的映射关系与由域名信息和网络地址信息生成的映射关系一致。
从以上描述可以看出,因为采用在DNS自身的缓存中进行查询,并将查询的结果保存在缓存中的技术手段,所以克服了现有技术中因域名的配置庞多且复杂而导致的响应速度慢、并行扩展差以及实时性差的技术问题,进而达到减少文件配置、提高实时性的技术效果,有利于增强查询的响应速度,使并行扩展保持一致。通过对DNS缓存中的数据保存及更新,提高了查询的实时性,进而使DNS集群服务的扩展增强。
图8示出了可以应用本发明实施例的域名系统DNS服务器查询方法或域名系统DNS服务器查询装置的示例性系统架构800。
如图8所示,系统架构800可以包括终端设备801、802、803,网络804和服务器805(此架构仅仅是示例,具体架构中包含的组件可以根据申请具体情况调整)。网络804用以在终端设备801、802、803和服务器805之间提供通信链路的介质。网络804可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备801、802、803通过网络804与服务器805交互,以接收或发送消息等。终端设备801、802、803上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备801、802、803可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器805可以是提供各种服务的服务器,例如对用户利用终端设备801、802、803所浏览的购物类网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的产品信息查询请求等数据进行分析等处理,并将处理结果(例如目标推送信息、产品信息--仅为示例)反馈给终端设备。
需要说明的是,本发明实施例所提供的信息推送方法一般由服务器805执行,相应地,信息推送装置一般设置于服务器805中。
应该理解,图8中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图9(数字根据实际需要编号),其示出了适于用来实现本发明实施例的终端设备的计算机系统900的结构示意图。图9示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图9所示,计算机系统900包括中央处理单元(CPU)901,其可以根据存储在只读存储器(ROM)902中的程序或者从存储部分908加载到随机访问存储器(RAM)903中的程序而执行各种适当的动作和处理。在RAM 903中,还存储有系统900操作所需的各种程序和数据。CPU 901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
以下部件连接至I/O接口905:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至I/O接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。在该计算机程序被中央处理单元(CPU)901执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括查询模块和处理模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:DNS服务器根据接收到的查询指令,在自身的缓存中查询,查询指令用于查询DNS服务器的缓存中的数据;DNS服务器将查询的结果保存在自身的缓存中,及发送给终端。
根据本发明实施例的技术方案,因为采用在DNS自身的缓存中进行查询,并将查询的结果保存在缓存中的技术手段,所以克服了现有技术中因域名的配置庞多且复杂而导致的响应速度慢、并行扩展差以及实时性差的技术问题,进而达到减少文件配置、提高实时性的技术效果,有利于增强查询的响应速度,使并行扩展保持一致。通过对DNS缓存中的数据保存及更新,提高了查询的实时性,进而使DNS集群服务的扩展增强。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (12)
1.一种域名系统DNS服务器查询的方法,其特征在于,包括:
DNS服务器根据接收到的查询指令,在自身的缓存中查询,所述查询指令用于查询所述DNS服务器的缓存中的数据;
DNS服务器将查询的结果保存在所述自身的缓存中,及发送给终端。
2.根据权利要求1所述的方法,其特征在于,所述DNS服务器根据接收到的查询指令,在自身的缓存中查询的步骤包括:
DNS服务器在所述自身的缓存的数据中查询,或
在所述自身的缓存中保存的所述查询的结果中查询。
3.根据权利要求1所述的方法,其特征在于,所述查询指令是根据域名信息和查询类型生成的一个索引,所述域名信息和所述查询类型是从接收到的终端数据包中解析出的。
4.根据权利要求1所述的方法,其特征在于,在所述DNS服务器根据接收到的查询指令,在自身的缓存中查询的步骤之前,还包括:
DNS服务器读取数据库中的数据,将所述数据库中的数据保存在所述自身的缓存中;
DNS服务器监听所述数据库中的数据,以使所述自身的缓存中的数据与所述数据库中的数据一致。
5.根据权利要求1所述的方法,其特征在于,在所述DNS服务器根据接收到的查询指令,在自身的缓存中查询的步骤之前,还包括:
服务发现组件从集群服务中获取域名信息和网络地址信息,根据所述域名信息和所述网络地址信息生成映射关系,将所述映射关系保存在所述数据库中;
服务发现组件监听所述集群服务中的信息,以使所述数据库中的映射关系与由所述域名信息和所述网络地址信息生成的映射关系一致。
6.一种域名系统DNS服务器查询的装置,其特征在于,包括:
查询模块,用于DNS服务器根据接收到的查询指令,在自身的缓存中查询,所述查询指令用于查询所述DNS服务器的缓存中的数据;
处理模块,用于DNS服务器将查询的结果保存在所述自身的缓存中,及发送给终端。
7.根据权利要求6所述的装置,其特征在于,所述查询模块用于:
DNS服务器在所述自身的缓存的数据中查询,或
在所述自身的缓存中保存的所述查询的结果中查询。
8.根据权利要求6所述的装置,其特征在于,所述查询指令是根据域名信息和查询类型生成的一个索引,所述域名信息和所述查询类型是从接收到的终端数据包中解析出的。
9.根据权利要求6所述的装置,其特征在于,所述装置中还包括第一保存模块,用于:
DNS服务器读取数据库中的数据,将所述数据库中的数据保存在所述自身的缓存中;
DNS服务器监听所述数据库中的数据,以使所述自身的缓存中的数据与所述数据库中的数据一致。
10.根据权利要求6所述的装置,其特征在于,所述装置中还包括第二保存模块,用于:
服务发现组件从集群服务中获取域名信息和网络地址信息,根据所述域名信息和所述网络地址信息生成映射关系,将所述映射关系保存在所述数据库中;
服务发现组件监听所述集群服务中的信息,以使所述数据库中的映射关系与由所述域名信息和所述网络地址信息生成的映射关系一致。
11.一种域名系统DNS服务器查询的电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-5中任一所述的方法。
12.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-5中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710865109.5A CN107613040A (zh) | 2017-09-22 | 2017-09-22 | 一种域名系统 dns 服务器查询的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710865109.5A CN107613040A (zh) | 2017-09-22 | 2017-09-22 | 一种域名系统 dns 服务器查询的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107613040A true CN107613040A (zh) | 2018-01-19 |
Family
ID=61061909
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710865109.5A Pending CN107613040A (zh) | 2017-09-22 | 2017-09-22 | 一种域名系统 dns 服务器查询的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107613040A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108846052A (zh) * | 2018-05-31 | 2018-11-20 | 郑州云海信息技术有限公司 | 一种浏览器缓存数据更新方法及相关装置 |
CN109088764A (zh) * | 2018-08-15 | 2018-12-25 | 郑州悉知信息科技股份有限公司 | 访问请求处理方法及相关设备 |
CN110851411A (zh) * | 2019-10-12 | 2020-02-28 | 新浪网技术(中国)有限公司 | 一种基于文件同步的dns动态变更系统及方法 |
CN111143034A (zh) * | 2019-12-23 | 2020-05-12 | 北京神州绿盟信息安全科技股份有限公司 | 一种控制网络数据转发平面的方法、装置及系统 |
CN112381317A (zh) * | 2020-11-26 | 2021-02-19 | 方是哲如管理咨询有限公司 | 一种组织行为分析和结果预测大数据平台 |
CN116405463A (zh) * | 2023-06-07 | 2023-07-07 | 阿里巴巴(中国)有限公司 | 域名查询方法、系统、电子设备以及非瞬时机器可读介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102469167A (zh) * | 2010-11-01 | 2012-05-23 | 中国移动通信集团北京有限公司 | 域名查询的实现方法和系统 |
CN103701957A (zh) * | 2014-01-14 | 2014-04-02 | 互联网域名系统北京市工程研究中心有限公司 | Dns递归方法及其系统 |
CN104935680A (zh) * | 2015-06-18 | 2015-09-23 | 中国互联网络信息中心 | 一种多层级共享缓存的递归域名服务系统和方法 |
CN105897942A (zh) * | 2015-09-17 | 2016-08-24 | 乐视云计算有限公司 | 一种域名解析系统及域名解析方法 |
US20160344690A1 (en) * | 2015-05-18 | 2016-11-24 | Morgan Stanley | Clustered server sharing |
-
2017
- 2017-09-22 CN CN201710865109.5A patent/CN107613040A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102469167A (zh) * | 2010-11-01 | 2012-05-23 | 中国移动通信集团北京有限公司 | 域名查询的实现方法和系统 |
CN103701957A (zh) * | 2014-01-14 | 2014-04-02 | 互联网域名系统北京市工程研究中心有限公司 | Dns递归方法及其系统 |
US20160344690A1 (en) * | 2015-05-18 | 2016-11-24 | Morgan Stanley | Clustered server sharing |
CN104935680A (zh) * | 2015-06-18 | 2015-09-23 | 中国互联网络信息中心 | 一种多层级共享缓存的递归域名服务系统和方法 |
CN105897942A (zh) * | 2015-09-17 | 2016-08-24 | 乐视云计算有限公司 | 一种域名解析系统及域名解析方法 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108846052A (zh) * | 2018-05-31 | 2018-11-20 | 郑州云海信息技术有限公司 | 一种浏览器缓存数据更新方法及相关装置 |
CN109088764A (zh) * | 2018-08-15 | 2018-12-25 | 郑州悉知信息科技股份有限公司 | 访问请求处理方法及相关设备 |
CN109088764B (zh) * | 2018-08-15 | 2022-04-22 | 郑州悉知信息科技股份有限公司 | 访问请求处理方法及相关设备 |
CN110851411A (zh) * | 2019-10-12 | 2020-02-28 | 新浪网技术(中国)有限公司 | 一种基于文件同步的dns动态变更系统及方法 |
CN110851411B (zh) * | 2019-10-12 | 2022-09-09 | 新浪网技术(中国)有限公司 | 一种基于文件同步的dns动态变更系统及方法 |
CN111143034A (zh) * | 2019-12-23 | 2020-05-12 | 北京神州绿盟信息安全科技股份有限公司 | 一种控制网络数据转发平面的方法、装置及系统 |
CN111143034B (zh) * | 2019-12-23 | 2023-11-14 | 绿盟科技集团股份有限公司 | 一种控制网络数据转发平面的方法、装置及系统 |
CN112381317A (zh) * | 2020-11-26 | 2021-02-19 | 方是哲如管理咨询有限公司 | 一种组织行为分析和结果预测大数据平台 |
CN116405463A (zh) * | 2023-06-07 | 2023-07-07 | 阿里巴巴(中国)有限公司 | 域名查询方法、系统、电子设备以及非瞬时机器可读介质 |
CN116405463B (zh) * | 2023-06-07 | 2023-08-11 | 阿里巴巴(中国)有限公司 | 域名查询方法、系统、电子设备以及非瞬时机器可读介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107613040A (zh) | 一种域名系统 dns 服务器查询的方法和装置 | |
CN109413127B (zh) | 一种数据同步方法和装置 | |
CN110019080B (zh) | 数据访问方法和装置 | |
CN106302445B (zh) | 用于处理请求的方法和装置 | |
CN105868231A (zh) | 缓存数据的更新方法及装置 | |
US10645192B2 (en) | Identifying content files in a cache using a response-based cache index | |
CN109657174A (zh) | 用于更新数据的方法和装置 | |
CN107844324A (zh) | 客户端页面跳转处理方法和装置 | |
CN108984553A (zh) | 缓存方法和装置 | |
CN109150929B (zh) | 高并发场景下的数据请求处理方法和装置 | |
CN106897336A (zh) | 网页文件发送方法、网页渲染方法及装置、网页渲染系统 | |
CN107679897A (zh) | 一种安全风险控制方法和装置 | |
CN105868251A (zh) | 一种缓存数据更新方法及装置 | |
CN107329963A (zh) | 加速网页访问的方法和装置 | |
CN106909690A (zh) | 网络数据缓存方法 | |
CN109992406A (zh) | 图片请求方法、响应图片请求的方法及客户端 | |
CN106790601A (zh) | 服务地址的读取装置、系统和方法 | |
CN110795315A (zh) | 监控业务的方法和装置 | |
CN107070991A (zh) | 网络数据缓存装置与系统 | |
CN109918191A (zh) | 一种业务请求防频的方法和装置 | |
CN109729095A (zh) | 数据处理方法、装置和计算设备及介质 | |
CN110110196A (zh) | 一种消息推送方法和装置 | |
CN110019263A (zh) | 信息存储方法和装置 | |
CN109753424B (zh) | Ab测试的方法和装置 | |
CN107844488A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180119 |
|
RJ01 | Rejection of invention patent application after publication |