CN111371910B - 基于dns的调度系统及方法 - Google Patents
基于dns的调度系统及方法 Download PDFInfo
- Publication number
- CN111371910B CN111371910B CN201811603629.XA CN201811603629A CN111371910B CN 111371910 B CN111371910 B CN 111371910B CN 201811603629 A CN201811603629 A CN 201811603629A CN 111371910 B CN111371910 B CN 111371910B
- Authority
- CN
- China
- Prior art keywords
- dns
- domain name
- request
- parameter information
- scheduling
- 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
- 238000000034 method Methods 0.000 title claims abstract description 47
- 230000004044 response Effects 0.000 claims abstract description 20
- 238000012545 processing Methods 0.000 claims description 40
- 238000004891 communication Methods 0.000 claims description 20
- 238000004806 packaging method and process Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 230000008901 benefit Effects 0.000 description 4
- 238000005538 encapsulation Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- DHSSDEDRBUKTQY-UHFFFAOYSA-N 6-prop-2-enyl-4,5,7,8-tetrahydrothiazolo[4,5-d]azepin-2-amine Chemical compound C1CN(CC=C)CCC2=C1N=C(N)S2 DHSSDEDRBUKTQY-UHFFFAOYSA-N 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012858 packaging process Methods 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 229950008418 talipexole Drugs 0.000 description 1
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]
-
- 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/09—Mapping addresses
- H04L61/10—Mapping addresses of different types
- H04L61/103—Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
-
- 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/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于DNS的调度系统及方法。其中,该方法包括:DNS接入模块对接收到的DNS解析请求分析,根据分析结果确定与DNS解析请求对应的请求参数信息,并将请求参数信息提供给配置调度模块;配置调度模块获取DNS接入模块提供的请求参数信息,按照预设调度规则,确定与所述请求参数信息中包含的域名相对应的域名解析结果,将确定的域名解析结果提供给所述DNS接入模块,以供所述DNS接入模块根据所述域名解析结果返回DNS响应消息。由此可见,本发明将DNS的调度系统划分为两层,便于接入层根据DNS解析请求的类型扩展,以支持更多类型的DNS解析请求。而且,通过单独设置调度层能提升可扩展性,从而灵活在调度层中根据实际应用场景设置不同的调度规则。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种基于DNS的调度系统及方法。
背景技术
目前,为了实现域名解析操作,通常是由授权DNS(Domain Name System,域名解析)服务器负责处理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响应消息。
根据本发明的再一方面,提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线,处理器、存储器和通信接口通过通信总线完成相互间的通信;
存储器用于存放至少一可执行指令,可执行指令使处理器执行上述基于DNS的调度方法对应的操作。
根据本发明的再一方面,提供了一种计算机存储介质,存储介质中存储有至少一可执行指令,可执行指令使处理器执行如上述基于DNS的调度方法对应的操作。
在本发明公开的基于DNS的调度系统及方法中,设置有DNS接入模块以及配置调度模块,其中,DNS接入模块能够针对接收到的DNS解析请求进行分析,根据分析结果确定与DNS解析请求相对应的请求参数信息,并将请求参数信息提供给配置调度模块;配置调度模块能够获取DNS接入模块提供的请求参数信息,并按照预设调度规则确定对应的域名解析结果,从而通过DNS接入模块返回DNS响应消息。由此可见,在该方式中,将DNS的调度系统划分为两层,分别为位于前端的接入层(对应于DNS接入模块),以及位于后端的调度层(对应于配置调度模块),通过分层处理的方式,便于在接入层根据DNS解析请求的类型进行扩展,以支持更多类型的DNS解析请求。而且,通过单独设置调度层能够提升可扩展性,从而灵活地在调度层中根据实际应用场景设置不同的调度规则。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明一个实施例的基于DNS的调度系统的结构示意图;
图2示出了本发明另一个实施例的基于DNS的调度系统的结构示意图;
图3示出了本发明又一实施例的一种基于DNS的调度方法的流程示意图;
图4示出了根据本发明实施例的一种电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了本发明一个实施例的基于DNS的调度系统的结构示意图。如图1所示,该系统包括:DNS接入模块10以及配置调度模块20。其中,DNS接入模块10适于针对接收到的DNS解析请求进行分析,根据分析结果确定与DNS解析请求相对应的请求参数信息,并将请求参数信息提供给配置调度模块20;配置调度模块20适于获取DNS接入模块10提供的请求参数信息,按照预设调度规则,确定与请求参数信息中包含的域名相对应的域名解析结果,将确定的域名解析结果提供给DNS接入模块10,以供DNS接入模块10根据域名解析结果返回DNS响应消息。
由此可见,本实施例中的调度系统主要包括由DNS接入模块10构成的接入层以及由配置调度模块20构成的调度层,通过将整个系统划分为两层能够便于在每一层分别设置对应的处理规则,实现灵活处理的效果。
其中,DNS接入模块10位于前端,用于针对DNS解析请求进行分析处理,以确定与DNS解析请求相对应的请求参数信息,以使配置调度模块20无需关心DNS解析请求的具体类型以及发送方等具体信息,简化配置调度模块20的处理逻辑。具体实施时,DNS接入模块10的具体数量和处理逻辑可由本领域技术人员根据应用场景灵活设置。例如,DNS接入模块10包括用于处理本地DNS发送的DNS解析请求的第一接入模块,以实现针对本地DNS发送的DNS解析请求的处理。又如,DNS接入模块10包括用于处理客户端发送的基于HTTP(HyperTextTransfer Protocol,超文本传输)协议实现的DNS解析请求的第二接入模块,以实现针对客户端发送的基于HTTP协议实现的DNS解析请求的处理。由此可见,通过设置单独的DNS接入模块10,能够将针对DNS解析请求实现的协议分析操作以及数据包处理操作等前端操作从DNS服务器中分离出来,由DNS接入模块10统一处理,由此能够屏蔽DNS解析请求的类型差异化,无论DNS解析请求通过何种方式、以何种类型发送,都能够经过DNS接入模块10进行分析处理,以确保配置调度模块20能够从调度层面进行统一调度。
配置调度模块20位于后端,用于按照预设调度规则,根据DNS接入模块10提供的请求参数信息确定与请求参数信息中包含的域名相对应的域名解析结果。其中,由于配置调度模块20与DNS接入模块10相互独立,因此,便于根据实际业务场景灵活配置对应的调度规则。例如,可以配置基于地域的调度规则、基于各个设备的动态得分的调度规则等。总之,通过设置独立的配置调度模块20,便于根据实际情况灵活配置所需的调度规则。
另外,该方式还有利于实现业务与配置的分离,在实际情况中,多种业务可能分别对应于不同类型的DNS解析请求,在传统方式中,由于DNS解析请求的处理等操作均需由DNS服务器实现,因此,导致业务相关数据以及配置相关数据不得不混杂在一起,不利于扩展和优化。通过本发明中的方式,由DNS接入模块10负责与业务相关的DNS解析请求的前端处理,由配置调度模块20负责与业务无关的配置调度策略,从而便于配置策略的灵活扩展。
由此可见,在该方式中,将DNS的调度系统划分为两层,分别为位于前端的接入层(对应于DNS接入模块10),以及位于后端的调度层(对应于配置调度模块20),通过分层处理的方式,便于在接入层根据DNS解析请求的类型进行扩展,以支持更多类型的DNS解析请求。而且,通过单独设置调度层能够提升可扩展性,从而灵活地在调度层中根据实际应用场景设置不同的调度规则。
图2示出了本发明另一个实施例的基于DNS的调度系统的结构示意图。如图2所示,该系统包括:DNS接入模块10、配置调度模块20、以及动态配置中心模块30。其中,DNS接入模块10以及动态配置中心模块30分别与配置调度模块20相连。其中,DNS接入模块10进一步包括:第一接入模块101以及第二接入模块102。
首先,介绍DNS接入模块10的具体结构和工作原理:
DNS接入模块10中包含的第一接入模块101与本地DNS相连,用于处理本地DNS发送的DNS解析请求。该本地DNS发送的DNS解析请求为基于DNS协议的请求。相应地,第一接入模块101接收到本地DNS发送的DNS解析请求后,基于DNS协议对该DNS解析请求执行协议分析操作以及数据包处理操作,以提取该DNS解析请求中包含的请求参数信息。该请求参数信息是指:包含在DNS解析请求中的与域名解析相关的信息。例如,包括:与该DNS解析请求相对应的设备标识(如发送该DNS解析请求的本地DNS的IP地址等)、待解析的域名等。通过第一接入模块101,能够处于来自本地DNS的基于DNS协议实现的DNS解析请求。实际情况中,第一接入模块101的数量可为一个或多个。
DNS接入模块10中包含的第二接入模块102与客户端设备相连,用于处理客户端发送的基于HTTP协议实现的DNS解析请求。该客户端发送的DNS解析请求为基于HTTP协议的请求。由于DNS协议是基于UDP(User Datagram Protocol,用户数据报)协议实现的,而UDP协议为可能出现丢包现象的不可靠协议,为了解决这一问题,在本实施例中,还支持基于HTTP协议实现的DNS解析请求。该类DNS解析请求能够由客户端直接发送,从而绕过本地DNS,进而具有防劫持、精准调度、解析延迟低等诸多优势。相应地,为了处理该类DNS解析请求,本实施例中的DNS接入模块10进一步包含第二接入模块102。该第二接入模块102用于基于HTTP协议对该DNS解析请求执行协议分析操作以及数据包处理操作,以提取该DNS解析请求中包含的请求参数信息。实际情况中,第二接入模块102的数量可为一个或多个。
另外,可选的,DNS接入模块10中还可以进一步包含第三接入模块,该第三接入模块用于作为DNS中继(DNS Relay),以处理由其他设备转发过来的DNS解析请求。
实际情况中,本领域技术人员还可以对DNS接入模块10中包含的模块数量和类型进行灵活调整,本发明对此不做限定。总之,DNS接入模块10用于在前端实现针对DNS解析请求的协议处理以及数据包处理等相关操作。当然,在接收到配置调度模块20返回的域名解析结果后,DNS接入模块10还需要根据请求参数信息将域名解析结果封装为DNS响应消息。具体封装时,需要根据DNS解析请求所基于的协议类型进行处理,例如,第一接入模块101负责基于DNS协议进行封装,第二接入模块102负责基于HTTP协议进行封装。具体封装时,需要根据请求参数信息中包含的与该DNS解析请求相对应的设备标识进行处理,以便将DNS响应消息返回给与该DNS解析请求相对应的设备。其中,与该DNS解析请求相对应的设备标识用于标识发送该DNS解析请求设备。例如,针对第一接入模块101而言,该设备标识用于标识发送该DNS解析请求的本地DNS;针对第二接入模块102而言,该设备标识用于标识发送该DNS解析请求的客户端。
接下来,介绍配置调度模块20的具体结构和工作原理:
配置调度模块20能够在获取到DNS接入模块10提供的请求参数信息后,按照预设调度规则,确定与该请求参数信息中包含的域名相对应的域名解析结果。其中,该预设调度规则可以为基于地域的规则,也可以为用于实现负载均衡的规则等。
在一种可选的实现方式中,预设调度规则包括:根据请求参数信息中包含的与该DNS解析请求相对应的设备标识,确定与该设备标识相对应的地域信息;根据与该设备标识相对应的地域信息以及与请求参数信息中包含的域名相对应的候选解析结果,确定与请求参数信息中包含的域名相对应的域名解析结果。具体地,配置调度模块20能够根据请求参数信息中包含的与该DNS解析请求相对应的设备标识,确定与该设备标识相对应的地域信息,从而确定发送该DNS解析请求的设备所在的地域(如北京、上海等),相应地,从与请求参数信息中包含的域名相对应的多个候选解析结果中选择与该地域相匹配的一个候选解析结果作为与该请求参数信息中包含的域名相对应的域名解析结果。具体实施时,可根据地域邻近原则,选择地域相隔最近的设备所对应的域名解析结果,以便于实现就近访问,从而提升访问速度。例如,可以在配置调度模块20中存储一张地域对照表,其中,针对每个域名,存储有与该域名相对应的多个候选解析结果以及每个候选解析结果对应的主机设备的地域。
在又一种可选的实现方式中,预设调度规则包括:根据预设的动态调度表,确定与请求参数信息中包含的域名相对应的各个候选解析结果所对应的设备分值;根据各个候选解析结果所对应的设备分值,确定与请求参数信息中包含的域名相对应的域名解析结果。相应地,配置调度模块20进一步适于:根据各个候选解析结果所对应的设备分值,为各个候选解析结果所对应的设备设置设备权重,根据设备权重确定与请求参数信息中包含的域名相对应的域名解析结果。
在后一种实现方式中,由动态配置中心模块30动态获取各个候选解析结果所对应的设备的属性信息,根据属性信息确定对应的设备分值,以生成预设的动态调度表。该动态调度表用于存储各个候选解析结果所对应的设备的设备分值。该动态配置中心模块30可同时与多个配置调度模块20相连,以便向各个配置调度模块20提供用于实现动态调度的动态调度表。
具体地,每个域名的一个候选解析结果对应于一台主机设备,为了满足大量用户同时访问的需求,通常针对一个域名会配置多个候选解析结果,相应地,多个候选解析结果对应于多台主机设备,每台主机设备的设备负载等信息都是随着时间推移而动态变化的。为了使调度更为合理,在本实施例中,专门设置有可供多个配置调度模块20共享的动态配置中心模块30,该动态配置中心模块30用于定期获取各个域名的各个候选解析结果所对应的各台主机设备的属性信息,以分析该主机设备的负载、性能等情况,从而为调度提供依据。其中,设备的属性信息包括以下中的至少一个:CPU信息、磁盘输入/输出(input/output,I/O)信息、网卡流量信息、以及链接数信息。具体实施时,可以直接在每台主机设备上部署用于采集属性信息的采集程序,由该采集程序定期上报该主机设备的属性信息。或者,也可以额外部署一些采集节点,每个采集节点与动态配置中心模块30相连,且进一步与至少一个主机设备相连,通过这些采集节点上安装的用于采集属性信息的采集程序定期获取并上报各个主机设备的属性信息。
其中,CPU信息用于指示CPU的占用率等相关信息,CPU占用率越低,性能越好,设备分值越高。磁盘I/O信息能够反映磁盘的利用率,磁盘利用率越高,性能就越差,设备得分越低。网卡流量信息以及链接数信息用于反映该设备的负载情况,具体的,可结合主机设备的最大网卡流量信息与当前网卡流量信息之间的差值或比值,以及主机设备的最大链接数与当前链接数之间的差值或比值,来确定设备分值。总之,设备空闲度越高、性能越好的得分越高。因此,通过设备分值能够反映主机设备的当前性能。
配置调度模块20具体调度时,可以直接根据各个主机设备的设备分值进行调度。或者,为了使调度过程更加便捷,配置调度模块20还可以根据各个候选解析结果所对应的设备分值,为各个候选解析结果所对应的设备设置设备权重,根据设备权重确定与请求参数信息中包含的域名相对应的域名解析结果。其中,设备权重通常与设备分值成正比,设备权重直接与各个域名的候选解析结果关联存储在预设的域名对照表中(该域名对照表用于存储各个域名及其对应的各个候选解析结果之间的对应关系),从而省去了通过域名对照表获取候选解析结果并进一步根据候选解析结果查询动态调度表的时延,提升了处理速度。
综上可知,通过本实施例中的方式,能够将DNS的调度系统划分为两层,分别为位于前端的接入层(对应于DNS接入模块10),以及位于后端的调度层(对应于配置调度模块20),通过分层处理的方式,便于在接入层根据DNS解析请求的类型进行扩展,以支持更多类型的DNS解析请求。而且,通过单独设置调度层能够提升可扩展性,从而灵活地在调度层中根据实际应用场景设置不同的调度规则。该方式能够使DNS解析请求不经过DNS服务器直接通过配置调度模块20进行调度,以获取相应的配置信息。并且,该配置调度模块20可根据实际场景灵活配置各种自定义的调度规则,可扩展性很强。
另外,本领域技术人员还可以对上述实施例进行各种改动和变形:可选的,当DNS接入模块10为第二接入模块102时,该系统进一步包括:客户端,该客户端适于根据用户输入的待解析域名以及预设的请求生成规则生成与待解析域名相对应的域名解析请求(即DNS解析请求);该域名解析请求中包含用户输入的待解析域名、以及根据该请求生成规则预先配置的目标服务器(即第二接入模块102)的标识信息。常规情况下,用户需要访问某一站点时,直接在浏览器的地址栏中输入待解析域名即可。例如,用户直接在浏览器地址栏中输入360.cn/1.txt这一域名,浏览器将直接生成包含该域名的域名解析请求。在本实施例中,为了绕过运营商默认配置的本地DNS,客户端按照预设的请求生成规则对用户输入的待解析域名进行预设处理,以得到处理后的域名解析请求。在本实施例中,该处理后的域名解析请求中包括第一字段、第二字段以及第三字段。相应地,预设的请求生成规则包括:根据预先配置的目标服务器的标识信息生成域名解析请求中包含的第一字段;根据用户输入的待解析域名生成域名解析请求中包含的第二字段;根据客户端的客户端标识生成域名解析请求中包含的第三字段。具体地,第一字段位于域名解析请求的首部,根据预先配置的目标服务器的标识信息生成,该预先配置的目标服务器可为一个或多个,目标服务器的标识信息可以为目标服务器的IP地址。第二字段位于域名解析请求的中部,根据用户输入的待解析域名生成,以指示用户要访问的资源。第三字段位于域名解析请求的尾部,根据客户端的客户端标识(例如客户端IP地址)生成。例如,以360.cn/1.txt这一域名为例,经处理后,对应的域名解析请求如下:http://1.1.1.1/domin=360.cn/1.txt?3.3.3.4。其中,http说明该请求为基于HTTP协议的请求,/1.1.1.1为目标服务器的IP地址,360.cn/1.txt为待解析的域名,3.3.3.4为生成该域名解析请求的客户端的IP地址。其中,客户端的IP地址,即第三字段为一个可选字段,在本发明其他的实施例中,也可以省略该字段。实质上,该域名解析请求本质上为一个IP地址,因此,无需通过运营商默认的DNS配置进行发送,而是直接发送给与/1.1.1.1这一IP地址相对应的目标服务器。另外,该处理后的域名解析请求也可以理解为一个URL(Uniform Resource Locator,统一资源定位符)请求,该URL请求直接根据其中的IP地址/1.1.1.1发送给对应的目标服务器。
另外,在本实施例中,还可以预先根据预设的请求生成规则配置待解析域名与目标服务器(即上文提到的第二接入模块102)之间的映射关系,以便准确确定与输入的待解析域名相对应的目标服务器。具体地,预先根据域名对应的公司信息、地域信息等相关信息,将待解析域名划分为多个分组,并分别为每个分组内的待解析域名配置对应的目标服务器。例如,预先将待解析域名划分为对应于第一公司的第一分组域名、对应于第二公司的第二分组域名、对应于第三公司的第三分组域名,相应地,与第一分组域名相对应的目标服务器为第一组目标服务器、与第二分组域名相对应的目标服务器为第二组目标服务器、与第三分组域名相对应的目标服务器为第三组目标服务器。各组目标服务器可为一个或多个,且各组目标服务器之间可存在交叉。总之,通过预先设置待解析域名与目标服务器之间的映射关系,能够更好地防止域名解析请求被非法服务器劫持。另外,当一个域名所在的分组所对应的一组目标服务器为多个时,可按照各种算法来从多个候选的目标服务器中选择一个目标服务器。例如,可按照各个目标服务器的编号次序依次将各次域名解析请求发送给各个目标服务器,或者,也可以由客户端与各个目标服务器保持通信,以定期获取各个目标服务器的负载情况,并根据负载情况选择一个目标服务器作为接收方。目标服务器用于根据所述域名解析请求中包含的所述预先配置的目标服务器的标识信息接收来自所述客户端的域名解析请求,根据所述域名解析请求中包含的待解析域名向所述客户端返回与所述待解析域名相对应的域名解析结果。本实施例中的目标服务器为HTTP服务器,也叫HTTPDNS服务器。并且,当域名解析请求中包含客户端的客户端标识时,该目标服务器进一步根据域名解析请求中包含的客户端标识向客户端返回与待解析域名相对应的域名解析结果。
通过上述方式能够绕过本地DNS,直接通过第二接入模块进行解析,从而防止了因本地DNS恶意控制所导致的劫持问题,提升了安全性。
图3示出了本发明另一个实施例的基于DNS的调度方法的流程示意图。该方法基于图1或图2所示的调度系统实现。如图3所示,该方法包括:
步骤S310:DNS接入模块针对接收到的DNS解析请求进行分析,根据分析结果确定与所述DNS解析请求相对应的请求参数信息,并将所述请求参数信息提供给配置调度模块。
步骤S320:配置调度模块获取所述DNS接入模块提供的请求参数信息,按照预设调度规则,确定与所述请求参数信息中包含的域名相对应的域名解析结果,将确定的域名解析结果提供给所述DNS接入模块,以供所述DNS接入模块根据所述域名解析结果返回DNS响应消息。
可选的,所述DNS接入模块针对接收到的DNS解析请求进行分析具体包括:在接收到DNS解析请求后,针对接收到的DNS解析请求执行协议分析操作以及数据包处理操作;
并且,所述DNS接入模块根据所述域名解析结果返回DNS响应消息具体包括:在接收到配置调度模块提供的域名解析结果后,根据所述请求参数信息将所述域名解析结果封装为DNS响应消息。
可选的,所述预设调度规则包括:根据所述请求参数信息中包含的与该DNS解析请求相对应的设备标识,确定与该设备标识相对应的地域信息;
根据所述与该设备标识相对应的地域信息以及与所述请求参数信息中包含的域名相对应的候选解析结果,确定与所述请求参数信息中包含的域名相对应的域名解析结果。
可选的,所述预设调度规则进一步包括:根据预设的动态调度表,确定与所述请求参数信息中包含的域名相对应的各个候选解析结果所对应的设备分值;
根据所述各个候选解析结果所对应的设备分值,确定与所述请求参数信息中包含的域名相对应的域名解析结果。
上述方法中的各个步骤的具体实现原理和细节可参照系统实施例中相应部分的描述,此处不再赘述。
本申请实施例提供了一种非易失性计算机存储介质,计算机存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的基于DNS的调度方法。
图4示出了根据本发明实施例的一种电子设备的结构示意图,本发明具体实施例并不对电子设备的具体实现做限定。
如图4所示,该电子设备可以包括:处理器(processor)402、通信接口(CommunicatI/Ons Interface)404、存储器(memory)406、以及通信总线408。
其中:
处理器402、通信接口404、以及存储器406通过通信总线408完成相互间的通信。
通信接口404,用于与其它设备比如客户端或其它服务器等的网元通信。
处理器402,用于执行程序410,具体可以执行上述基于DNS的调度方法实施例中的相关步骤。
具体地,程序410可以包括程序代码,该程序代码包括计算机操作指令。
处理器402可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicatI/OnSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。电子设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器406,用于存放程序410。存储器406可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序410具体可以用于使得处理器402执行上述方法实施例中的各项操作。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的基于DNS的调度装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明还公开了A1.一种基于DNS的调度系统,包括:
DNS接入模块,适于针对接收到的DNS解析请求进行分析,根据分析结果确定与所述DNS解析请求相对应的请求参数信息,并将所述请求参数信息提供给配置调度模块;
配置调度模块,适于获取所述DNS接入模块提供的请求参数信息,按照预设调度规则,确定与所述请求参数信息中包含的域名相对应的域名解析结果,将确定的域名解析结果提供给所述DNS接入模块,以供所述DNS接入模块根据所述域名解析结果返回DNS响应消息。
A2.根据权利要求A1所述的系统,其中,所述DNS接入模块包括以下中的至少一个:用于处理本地DNS发送的DNS解析请求的第一接入模块、以及用于处理客户端发送的基于HTTP协议实现的DNS解析请求的第二接入模块。
A3.根据权利要求A1或2所述的系统,其中,所述DNS接入模块具体适于:在接收到DNS解析请求后,针对接收到的DNS解析请求执行协议分析操作以及数据包处理操作;
并且,所述DNS接入模块进一步适于:在接收到配置调度模块提供的域名解析结果后,根据所述请求参数信息将所述域名解析结果封装为DNS响应消息。
A4.根据权利要求A1-3任一所述的系统,其中,所述预设调度规则包括:根据所述请求参数信息中包含的与该DNS解析请求相对应的设备标识,确定与该设备标识相对应的地域信息;
根据所述与该设备标识相对应的地域信息以及与所述请求参数信息中包含的域名相对应的候选解析结果,确定与所述请求参数信息中包含的域名相对应的域名解析结果。
A5.根据权利要求A1-4任一所述的系统,其中,所述预设调度规则进一步包括:根据预设的动态调度表,确定与所述请求参数信息中包含的域名相对应的各个候选解析结果所对应的设备分值;
根据所述各个候选解析结果所对应的设备分值,确定与所述请求参数信息中包含的域名相对应的域名解析结果。
A6.根据权利要求A5所述的系统,其中,所述配置调度模块进一步适于:根据所述各个候选解析结果所对应的设备分值,为各个候选解析结果所对应的设备设置设备权重,根据所述设备权重确定与所述请求参数信息中包含的域名相对应的域名解析结果。
A7.根据权利要求A5或6所述的系统,其中,所述系统进一步包括:与所述配置调度模块相连的动态配置中心模块;其中,
所述动态配置中心模块用于动态获取各个候选解析结果所对应的设备的属性信息,根据所述属性信息确定对应的设备分值,以生成所述预设的动态调度表。
A8.根据权利要求A7所述的系统,其中,所述设备的属性信息包括以下中的至少一个:CPU信息、磁盘I/O信息、网卡流量信息、以及链接数信息。
B9.一种基于权利要求A1-8任一所述的DNS的调度系统的调度方法,包括:
DNS接入模块针对接收到的DNS解析请求进行分析,根据分析结果确定与所述DNS解析请求相对应的请求参数信息,并将所述请求参数信息提供给配置调度模块;
配置调度模块获取所述DNS接入模块提供的请求参数信息,按照预设调度规则,确定与所述请求参数信息中包含的域名相对应的域名解析结果,将确定的域名解析结果提供给所述DNS接入模块,以供所述DNS接入模块根据所述域名解析结果返回DNS响应消息。
B10.根据权利要求B9所述的方法,其中,所述DNS接入模块针对接收到的DNS解析请求进行分析具体包括:在接收到DNS解析请求后,针对接收到的DNS解析请求执行协议分析操作以及数据包处理操作;
并且,所述DNS接入模块根据所述域名解析结果返回DNS响应消息具体包括:在接收到配置调度模块提供的域名解析结果后,根据所述请求参数信息将所述域名解析结果封装为DNS响应消息。
B11.根据权利要求B9-10任一所述的方法,其中,所述预设调度规则包括:根据所述请求参数信息中包含的与该DNS解析请求相对应的设备标识,确定与该设备标识相对应的地域信息;
根据所述与该设备标识相对应的地域信息以及与所述请求参数信息中包含的域名相对应的候选解析结果,确定与所述请求参数信息中包含的域名相对应的域名解析结果。
B12.根据权利要求B9-11任一所述的方法,其中,所述预设调度规则进一步包括:根据预设的动态调度表,确定与所述请求参数信息中包含的域名相对应的各个候选解析结果所对应的设备分值;
根据所述各个候选解析结果所对应的设备分值,确定与所述请求参数信息中包含的域名相对应的域名解析结果。
C13.一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求B9-12中任一项所述的调度方法对应的操作。
D14.一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如权利要求B9-12中任一项所述的调度方法对应的操作。
Claims (13)
1.一种基于DNS的调度系统,包括:
DNS接入模块,适于针对接收到的DNS解析请求进行分析,根据分析结果确定与所述DNS解析请求相对应的请求参数信息,并将所述请求参数信息提供给配置调度模块,其中,所述DNS接入模块包括以下中的至少一个:用于处理本地DNS发送的DNS解析请求的第一接入模块、以及用于处理客户端发送的基于HTTP协议实现的DNS解析请求的第二接入模块,所述请求参数信息包括与所述DNS解析请求相对应的设备标识、待解析的域名,通过所述第一接入模块,能够处理来自本地DNS的基于DNS协议实现的所述DNS解析请求;
配置调度模块,适于获取所述DNS接入模块提供的请求参数信息,按照预设调度规则,确定与所述请求参数信息中包含的域名相对应的域名解析结果,将确定的域名解析结果提供给所述DNS接入模块,以供所述DNS接入模块根据所述域名解析结果返回DNS响应消息。
2.根据权利要求1所述的系统,其中,所述DNS接入模块具体适于:在接收到DNS解析请求后,针对接收到的DNS解析请求执行协议分析操作以及数据包处理操作;
并且,所述DNS接入模块进一步适于:在接收到配置调度模块提供的域名解析结果后,根据所述请求参数信息将所述域名解析结果封装为DNS响应消息。
3.根据权利要求1或2所述的系统,其中,所述预设调度规则包括:根据所述请求参数信息中包含的与该DNS解析请求相对应的设备标识,确定与该设备标识相对应的地域信息;
根据所述与该设备标识相对应的地域信息以及与所述请求参数信息中包含的域名相对应的候选解析结果,确定与所述请求参数信息中包含的域名相对应的域名解析结果。
4.根据权利要求1所述的系统,其中,所述预设调度规则进一步包括:根据预设的动态调度表,确定与所述请求参数信息中包含的域名相对应的各个候选解析结果所对应的设备分值;
根据所述各个候选解析结果所对应的设备分值,确定与所述请求参数信息中包含的域名相对应的域名解析结果。
5.根据权利要求4所述的系统,其中,所述配置调度模块进一步适于:根据所述各个候选解析结果所对应的设备分值,为各个候选解析结果所对应的设备设置设备权重,根据所述设备权重确定与所述请求参数信息中包含的域名相对应的域名解析结果。
6.根据权利要求5所述的系统,其中,所述系统进一步包括:与所述配置调度模块相连的动态配置中心模块;其中,
所述动态配置中心模块用于动态获取各个候选解析结果所对应的设备的属性信息,根据所述属性信息确定对应的设备分值,以生成所述预设的动态调度表。
7.根据权利要求6所述的系统,其中,所述设备的属性信息包括以下中的至少一个:CPU信息、磁盘I/O信息、网卡流量信息、以及链接数信息。
8.一种基于权利要求1-7任一所述的DNS的调度系统的调度方法,包括:
DNS接入模块针对接收到的DNS解析请求进行分析,根据分析结果确定与所述DNS解析请求相对应的请求参数信息,并将所述请求参数信息提供给配置调度模块,其中,所述DNS接入模块包括以下中的至少一个:用于处理本地DNS发送的DNS解析请求的第一接入模块、以及用于处理客户端发送的基于HTTP协议实现的DNS解析请求的第二接入模块,所述请求参数信息包括与所述DNS解析请求相对应的设备标识、待解析的域名,通过所述第一接入模块,能够处理来自本地DNS的基于DNS协议实现的所述DNS解析请求;
配置调度模块获取所述DNS接入模块提供的请求参数信息,按照预设调度规则,确定与所述请求参数信息中包含的域名相对应的域名解析结果,将确定的域名解析结果提供给所述DNS接入模块,以供所述DNS接入模块根据所述域名解析结果返回DNS响应消息。
9.根据权利要求8所述的方法,其中,所述DNS接入模块针对接收到的DNS解析请求进行分析具体包括:在接收到DNS解析请求后,针对接收到的DNS解析请求执行协议分析操作以及数据包处理操作;
并且,所述DNS接入模块根据所述域名解析结果返回DNS响应消息具体包括:在接收到配置调度模块提供的域名解析结果后,根据所述请求参数信息将所述域名解析结果封装为DNS响应消息。
10.根据权利要求8所述的方法,其中,所述预设调度规则包括:根据所述请求参数信息中包含的与该DNS解析请求相对应的设备标识,确定与该设备标识相对应的地域信息;
根据所述与该设备标识相对应的地域信息以及与所述请求参数信息中包含的域名相对应的候选解析结果,确定与所述请求参数信息中包含的域名相对应的域名解析结果。
11.根据权利要求8-10任一所述的方法,其中,所述预设调度规则进一步包括:根据预设的动态调度表,确定与所述请求参数信息中包含的域名相对应的各个候选解析结果所对应的设备分值;
根据所述各个候选解析结果所对应的设备分值,确定与所述请求参数信息中包含的域名相对应的域名解析结果。
12.一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求8-11中任一项所述的调度方法对应的操作。
13.一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如权利要求8-11中任一项所述的调度方法对应的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811603629.XA CN111371910B9 (zh) | 2018-12-26 | 2018-12-26 | 基于dns的调度系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811603629.XA CN111371910B9 (zh) | 2018-12-26 | 2018-12-26 | 基于dns的调度系统及方法 |
Publications (3)
Publication Number | Publication Date |
---|---|
CN111371910A CN111371910A (zh) | 2020-07-03 |
CN111371910B true CN111371910B (zh) | 2023-10-31 |
CN111371910B9 CN111371910B9 (zh) | 2023-12-22 |
Family
ID=71212311
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811603629.XA Active CN111371910B9 (zh) | 2018-12-26 | 2018-12-26 | 基于dns的调度系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111371910B9 (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007107634A1 (en) * | 2006-03-20 | 2007-09-27 | Nixu Software Oy | Applianced domain name server |
CN103246857A (zh) * | 2013-04-28 | 2013-08-14 | 复旦大学 | 一种使用形式化解码规则解析异构编码获得物品信息的方法 |
CN106953945A (zh) * | 2017-05-26 | 2017-07-14 | 北京奇虎科技有限公司 | 基于sdn实现的域名智能解析方法及装置、服务器 |
CN107592377A (zh) * | 2017-09-25 | 2018-01-16 | 深圳市茁壮网络股份有限公司 | 一种指令处理方法、域名解析服务器及客户端设备 |
CN107846483A (zh) * | 2017-11-10 | 2018-03-27 | 北京粉笔蓝天科技有限公司 | 一种域名解析方法、系统和服务器 |
-
2018
- 2018-12-26 CN CN201811603629.XA patent/CN111371910B9/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007107634A1 (en) * | 2006-03-20 | 2007-09-27 | Nixu Software Oy | Applianced domain name server |
CN103246857A (zh) * | 2013-04-28 | 2013-08-14 | 复旦大学 | 一种使用形式化解码规则解析异构编码获得物品信息的方法 |
CN106953945A (zh) * | 2017-05-26 | 2017-07-14 | 北京奇虎科技有限公司 | 基于sdn实现的域名智能解析方法及装置、服务器 |
CN107592377A (zh) * | 2017-09-25 | 2018-01-16 | 深圳市茁壮网络股份有限公司 | 一种指令处理方法、域名解析服务器及客户端设备 |
CN107846483A (zh) * | 2017-11-10 | 2018-03-27 | 北京粉笔蓝天科技有限公司 | 一种域名解析方法、系统和服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN111371910B9 (zh) | 2023-12-22 |
CN111371910A (zh) | 2020-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108881448B (zh) | Api请求的处理方法及装置 | |
US8489724B2 (en) | CNAME-based round-trip time measurement in a content delivery network | |
JP5103530B2 (ja) | グローバルトラフィックロードバランシングのためのクライアントの場所及びリゾルバの負荷を判断するためのdnsワイルドカードビーコニング | |
CN106933871B (zh) | 短链接处理方法、装置及短链接服务器 | |
CN107528862B (zh) | 域名解析的方法及装置 | |
CN109660578B (zh) | Cdn的回源处理方法及装置、系统 | |
CN111324843A (zh) | 一种前端请求处理方法、装置、设备及可读存储介质 | |
CN106572197B (zh) | 一种网络地址转换方法、装置及系统 | |
CN110224943B (zh) | 基于url的流量服务限流方法、电子设备及计算机存储介质 | |
CN103825919B (zh) | 一种缓存数据资源的方法、装置及系统 | |
CN109818997A (zh) | 一种负载均衡方法、系统及存储介质 | |
CN105100152A (zh) | 应用服务器的选取方法和系统、应用客户端 | |
CN102868550A (zh) | 全网流量调度器及使用该调度器查询域名解析记录的方法 | |
US10536425B2 (en) | Cross-domain HTTP requests using DNS rebinding | |
CN111371911A (zh) | 域名解析系统及方法 | |
CN109561054A (zh) | 一种数据传输方法、控制器及接入设备 | |
CN111787129A (zh) | 为客户端配置本地dns服务器的方法及系统 | |
CN111371910B (zh) | 基于dns的调度系统及方法 | |
CN111600929B (zh) | 传输线路探测方法、路由策略生成方法及代理服务器 | |
CN111614792B (zh) | 透传方法、系统、服务器、电子设备及存储介质 | |
CN114520784B (zh) | 一种动态内容加速访问方法及装置 | |
CN105100151B (zh) | 一种内容分发的方法、设备和系统 | |
CN109302390A (zh) | 一种漏洞检测方法和装置 | |
CN113596105B (zh) | 内容的获取方法、边缘节点及计算机可读存储介质 | |
CN111935329B (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 | ||
CI03 | Correction of invention patent |
Correction item: Description Correct: Paragraphs 1-73 of the instruction manual submitted on January 6, 2022 False: Paragraphs 1-99 of the specification submitted on the application date Number: 44-01 Page: ?? Volume: 39 |
|
CI03 | Correction of invention patent |