掌桥专利:专业的专利平台
掌桥专利
首页

域名解析方法和电子设备

文献发布时间:2024-01-17 01:17:49


域名解析方法和电子设备

技术领域

本公开涉及计算机网络技术领域,尤其涉及一种域名解析方法和电子设备。

背景技术

在云计算、移动应用、企业全球化成为大背景的环境下,越来越多的实时应用(异地办公、视频会议、远程桌面、支付交易系统、远程医疗等)要在多个节点间传递,断线、访问慢等问题将会放大用户的不满,造成交易流失。而SD-WAN的出现不仅解决了互联网不稳定、专线造价昂贵的问题,而且更重要的是能够极大程度上满足这些应用即时性和实时性的要求。

发明内容

本公开提供了一种域名解析方法和电子设备。

根据本公开的一方面,提供了一种域名解析方法,包括:

接收客户端发送的DNS请求;

根据客户端的属性信息和数据库中的数据信息,确定与DNS请求对应的DNS解析记录,其中,客户端的属性信息至少包括客户端的来源IP、线路出口、域名属性,以及客户端连接的网络服务提供点;

将DNS解析记录反馈至客户端。

根据本公开的另一方面,提供了一种用于域名解析的电子设备,包括:

至少一个处理器;以及

与该至少一个处理器通信连接的存储器;其中,

该存储器存储有可被该至少一个处理器执行的指令,该指令被该至少一个处理器执行,以使该至少一个处理器能够执行本公开任一实施例中的方法。

根据本公开的技术,可以根据客户端的网络属性信息为使用SD-WAN的用户提供快速、优质的DNS服务。

应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。

附图说明

附图用于更好地理解本方案,不构成对本公开的限定。其中:

图1是根据本公开一实施例的域名解析方法的流程示意图一;

图2是根据本公开一实施例的域名解析方法的流程示意图二;

图3是根据本公开一实施例的执行本公开的域名解析方法的域名解析系统的结构示意图;

图4是用来实现本公开实施例的域名解析方法的电子设备的框图。

具体实施方式

以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。

SD-WAN,即软件定义广域网络,是将SDN(software design network,软件定义网络)技术应用到广域网场景中所形成的一种服务。这种服务用于连接广阔地理范围的企业网络、数据中心、互联网应用及云服务,旨在帮助用户降低广域网的开支和提高网络连接灵活性。

SD-WAN是一种应用于WAN传输连接的基于软件的网络应用技术,它可以使得企业将广域网连接和功能整合并虚拟化成集中式的策略,以简化复杂WAN拓扑的部署和管理。

但由于多条宽带属于不同的运营商,各个运营商只能对自己宽带实现快速解析,而对于其他宽带会出现无法解析并报错的情况,因此导致在配置了SD-WAN的情况下,用户实际使用时会出现网速变慢,卡顿的情况。

基于此,本公开提供了一种域名解析方法,图1是根据本公开一实施例的域名解析方法的流程示意图,包括:

S110,接收客户端发送的DNS请求;

S120,根据客户端的属性信息和数据库中的数据信息,确定与DNS请求对应的DNS解析记录,其中,客户端的属性信息至少包括客户端的来源IP、线路出口、域名属性,以及客户端连接的网络服务提供点;

S130,将DNS解析记录反馈至客户端。

示例性地,本实施例的方法可以应用于域名解析系统,使用SD-WAN的用户可以在网络出口处架设CPE(Customer Premise Equipment,客户终端设备),CPE中可以设置防火墙拦截DNS请求并转发至域名解析系统。

进一步地,本实施例中域名解析系统可以接收客户端(也即CPE)发送的DNS请求,并根据客户端的属性信息(至少包括客户端的来源IP、线路出口、域名属性,以及客户端连接的网络服务提供点)和数据库中的数据信息,确定与DNS请求对应的DNS解析记录,并将正确的解析结果反馈至客户端。从而为SD-WAN提供了专用的域名解析服务,并可以根据客户端的网络属性提供更为适合的DNS服务。

在一种实施方式中,步骤S120包括:

根据属性信息中客户端的来源IP和数据库中的映射关系表,查询与客户端的来源IP对应的目标缓存池,其中,映射关系表反映客户端来源IP和缓存池的对应关系;

若存在目标缓存池,在目标缓存池中确定与DNS请求对应的DNS解析记录。

可以理解的是,域名解析系统还可以保存此前接收到的DNS请求经DNS服务器解析后得到的DNS解析记录,并将DNS解析记录根据不同的来源IP保存在与来源IP对应的缓存池中,系统的数据库中存储有包含来源IP和缓存池的对应关系的映射关系表。对于接收到的客户端发送的DNS请求,可以根据映射关系表,查询与客户端的来源IP对应的目标缓存池,并在目标缓存池中匹配与DNS请求对应的DNS解析记录。

在一种实施方式中,步骤S120还包括:

若不存在目标缓存池,或目标缓存池中不存在与DNS请求对应的DNS解析记录,根据客户端的属性信息以及数据库中的域名列表,确定与DNS请求对应DNS服务器;

利用DNS服务器,获得与DNS请求对应的DNS解析记录。

可以理解的是,对于接收到的客户端发送的DNS请求而言,系统中可能不存在与其客户端的来源IP匹配的目标缓存池,或者即便存在目标缓存池,目标缓存池中也可能无法匹配到与DNS请求对应的DNS解析记录。在此情况下,需要根据客户端的属性信息和数据库中的域名列表,确定处理DNS请求的DNS服务器,并利用DNS服务器获取与DNS请求对应的DNS解析记录。

在一种实施方式中,利用DNS服务器,获得与DNS请求对应的DNS解析记录之后,还包括:

根据客户端的来源IP,存储与DNS请求对应的DNS解析记录。

可以理解的是,若需要利用DNS服务器对DNS请求进行解析以获得解析结果,则说明系统中没有存储与当前DNS请求对应的DNS解析记录。因此,在利用DNS服务器获得DNS请求对应的DNS解析记录后,还需要将DNS解析记录存储。

进一步地,存储DNS解析记录也包含两种情况,情况一:

若存在目标缓存池,将DNS解析记录存储至目标缓存池。

可以理解的是,目标缓存池也即与发送当前DNS请求的客户端的来源IP对应的缓存池,在此情况下,系统中已经存在能够用于存储当前DNS请求对应的DNS解析记录的缓存池,只需要在目标缓存池中将DNS解析记录存储即可。

情况二:

若不存在目标缓存池,根据客户端的来源IP和线路出口构建与客户端的来源IP对应的缓存池;

将DNS解析记录存储至与客户端的来源IP对应的缓存池。

可以理解的是,若系统中不存在目标缓存池,则需要根据发送当前DNS请求的客户端的来源IP和线路出口,构建出与客户端的来源IP对应的缓存池,而后将DNS解析记录存储至构建出的缓存池中。

采用上述实施例的方法,将DNS服务器对于DNS请求的解析记录保存在与客户端来源IP对应的缓存池中,可以使得在后续收到此前解析过的DNS请求的情况下,通过在缓存池中匹配的方式快速获得对应的DNS解析记录,提高了SD-WAN使用场景下对于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请求的分发方式,能够根据客户端网络属性为SD-WAN提供合适且优质的DNS服务。

在一种实施方式中,如图2所示,本申请的域名解析方法还包括:

S210,记录与DNS请求对应的DNS服务器解析DNS请求的日志数据;

S220,对日志数据进行分析,得到日志数据对应的分析结果;

S230,根据分析结果更新数据库中的域名列表。

示例性地,域名解析系统可以记录DNS服务器解析DNS请求的日志数据,包括域名解析请求行为、请求状态、请求结果和时长等。系统可以周期性地对日志数据进行分析得到与日志数据对应的分析结果。根据分析结果可以判断域名是否属于本地域名,在属于本地域名的情况下,对数据库中的域名列表进行更新。

采用上述实施例的方法,可以记录DNS解析的日志数据,并对日志数据进行分析以更新数据库中的域名列表。进一步地,可以利用域名列表快速确定适用于解析当前DNS请求的DNS服务器,提高对于客户端发送的DNS请求的解析效率。

在一种实施方式中,数据库中的映射关系表也可以基于日志数据进行周期性的更新,可以对日志数据进行分析,确定出映射关系表中未包含的客户端来源IP与缓存池的映射关系,并基于此更新映射关系表。

图3示出了执行本公开的域名解析方法的域名解析系统的结构示意图,如图3所示,域名解析系统包括一级分析器、二级分析器、缓存池、配置数据库、定时器、请求日志处理器以及数据分析器等。

其中,配置数据库中存储了缓存池配置信息、本地域名列表以及反映客户端来源IP和缓存池的对应关系的映射关系表。

请求日志处理器可以记录DNS服务器解析DNS请求的日志数据,包括域名解析请求行为、请求状态、请求结果和时长等。数据分析器可以周期性地将日志数据写入监控服务状态,并分析请求内容和结果判断域名是否为本地域名,在属于本地域名的情况下,对配置数据库中的本地域名列表进行更新。

缓存池用于根据时间信息保存DNS解析记录,不同的客户端来源IP和线路出口的组合属于不同的缓存池。

定时器中包括来源IP对应缓存池数据同步定时器和本地域名数据同步定时器,分别用于定期根据数据分析器的分析结果更新配置数据库中的映射关系表以及本地域名列表。定时器中还包括过期缓存清理定时器,过期缓存清理定时器用于定期清理缓存池中较长时间未被使用的DNS解析记录,以保障缓存池中具备一定的存储空间存储新的DNS解析记录。

一级分析器用于根据配置数据库中的反映客户端来源IP和缓存池的对应关系的映射关系表,确定在哪个缓存池中进行当前DNS请求与存储的DNS解析记录的匹配。

若没有与当前DNS请求的客户端来源IP对应的缓存池,或缓存池中无法匹配到与当前DNS请求对应的DNS解析记录,则需要利用二级分析器进一步处理当前DNS请求。二级分析器用于根据配置数据库中的本地域名列表以及发送当前DNS请求的客户端的域名属性,确定如何将当前DNS请求分发至对应的DNS服务器。

具体地,若当前DNS请求的域名属于本地域名,则可以根据客户端连接的网络服务提供点(POP点)确定与当前DNS请求对应的DNS服务器。若当前DNS请求的域名不属于本地域名,则可以根据客户端的线路出口确定与当前DNS请求对应的DNS服务器。

以上从不同角度描述了本申请实施例的具体设置和实现方式。利用上述实施例提供的方法,可以在域名解析系统中存储DNS解析记录,在接到新的DNS请求的情况下,若可以在存储中匹配到对应的DNS解析记录,则可以直接反馈解析结果,若无法存储中无法匹配到对应的DNS解析记录,也可以根据客户端的网络属性将DNS请求分发至适合的DNS服务器进行解析处理,从而提高了SD-WAN使用场景下对于DNS请求的解析效率和解析效果。

本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。

图4示出根据本申请一实施例的电子设备的结构框图。如图4所示,该电子设备包括:存储器410和处理器420,存储器410内存储有可在处理器420上运行的指令。处理器420执行该指令时实现上述实施例中的方法。存储器410和处理器420的数量可以为一个或多个。该电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。

该电子设备还可以包括通信接口430,用于与外界设备进行通信,进行数据交互传输。各个设备利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器420可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

可选的,在具体实现上,如果存储器410、处理器420及通信接口430集成在一块芯片上,则存储器410、处理器420及通信接口430可以通过内部接口完成相互间的通信。

应理解的是,上述处理器可以是中央处理器(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。值得说明的是,处理器可以是支持进阶精简指令集机器(Advanced RISC Machines,ARM)架构的处理器。

本申请实施例提供了一种计算机可读存储介质(如上述的存储器410),其存储有计算机指令,该程序被处理器执行时实现本申请实施例中提供的方法。

可选的,存储器410可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据识别车道边沿的电子设备的使用所创建的数据等。此外,存储器410可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器410可选包括相对于处理器420远程生成的存储器,这些远程存储器可以通过网络连接至识别车道边沿的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他实体类别的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁待,磁待磁磁盘存储或其他磁性存储介质或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(Transitory Media),如调制的数据信号和载波。

示例性地,控制器或电子设备中的处理器包括自动驾驶域控制模块(Automated-driving Domain Control Module,ADCM)。

示例性地,本实施例中的车辆可以燃油车、电动车、太阳能车等任何动力驱动的车辆。示例性地,本实施例中的车辆可以为自动驾驶车辆。

本实施例的车辆的其他构成,如车架和车轮的具体结构以及连接紧固部件等,可以采用于本领域普通技术人员现在和未来知悉的各种技术方案,这里不再详细描述。

在本说明书的描述中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到其各种变化或替换,这些都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

技术分类

06120116117663