一种基于混合云平台的域名解析方法和装置与流程

文档序号:16848943发布日期:2019-02-12 22:34阅读:206来源:国知局
一种基于混合云平台的域名解析方法和装置与流程

本申请涉及互联网技术领域,特别是涉及一种基于混合云平台的域名解析方法和装置。



背景技术:

随着移动互联网的发展,云平台的种类也日益增多,许多应用在使用混合云平台时,要考虑云平台之间的兼容问题。现有技术存在的问题是,例如对于某应用a,它有一部分节点部署在诸如openstack的云平台上,而另一部分服务则部署在k8s(kubernetes)平台环境中,用户通过域名d来访问应用a提供的服务时,域名解析服务无法既将d域名的请求解析到k8s上的服务节点,又解析到openstack平台上的服务节点上。



技术实现要素:

鉴于上述问题,本申请实施例提供一种基于混合云平台的域名解析方法,能够解决现有技术无法实现混合云平台的域名解析问题。

相应的,本申请实施例还提供了一种基于混合云平台的域名解析装置,用以保证上述方法的实现及应用。

为了解决上述问题,本申请实施例公开了一种基于混合云平台的域名解析方法,应用于域名系统服务器,所述方法包括:

获取第一域名解析请求;

响应于所述第一域名解析请求,确定在域名数据库中是否存在所述第一域名解析请求对应的第一域名记录,所述第一域名记录包括第一a记录和/或第一别名记录;

当在所述域名数据库中存在所述第一域名记录时,确定所述第一域名记录中的所述第一a记录和/或所述第一别名记录对应的第二a记录;

根据所述第一a记录和/或所述第二a记录,确定所述第一域名解析请求对应的第一ip地址。

相应的,本申请实施例还公开了一种基于混合云平台的域名解析装置,应用于域名系统服务器,所述装置包括:

请求获取模块,用于获取第一域名解析请求;

记录确定模块,用于响应于所述第一域名解析请求,确定在域名数据库中是否存在所述第一域名解析请求对应的第一域名记录,所述第一域名记录包括第一a记录和/或第一别名记录;

所述记录确定模块,还用于当在所述域名数据库中存在所述第一域名记录时,确定所述第一域名记录中的所述第一a记录和/或所述第一别名记录对应的第二a记录;

地址确定模块,用于根据所述第一a记录和/或所述第二a记录,确定所述第一域名解析请求对应的第一ip地址。

本申请实施例还提供一种装置,包括处理器以及存储器,其中,

所述处理器执行所述存储器所存放的计算机程序代码,以实现本申请所述的基于混合云平台的域名解析方法。

本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现本申请所述的基于混合云平台的域名解析方法的步骤。

本申请实施例包括以下优点:

获取第一域名解析请求;响应于所述第一域名解析请求,确定在域名数据库中是否存在所述第一域名解析请求对应的第一域名记录,所述第一域名记录包括第一a记录和/或第一别名记录;当在所述域名数据库中存在所述第一域名记录时,确定所述第一域名记录中的所述第一a记录和/或所述第一别名记录对应的第二a记录;根据所述第一a记录和/或所述第二a记录,确定所述第一域名解析请求对应的第一ip地址。因此,能够在混合云平台部署时,实现符合dns协议要求的域名的解析。

附图说明

图1是本申请的一种基于混合云平台的域名解析方法实施例的步骤流程图;

图2是本申请的一种基于混合云平台的域名解析方法可选实施例的步骤流程图;

图3是本申请的一种基于混合云平台的域名解析方法可选实施例的步骤流程图;

图4是本申请的另一种基于混合云平台的域名解析方法实施例的步骤流程图;

图5是本申请的又一种基于混合云平台的域名解析方法实施例的步骤流程图;

图6是本申请的一种基于混合云平台的域名解析装置实施例的结构框图;

图7是本申请的一种基于混合云平台的域名解析装置实施例的结构框图。

具体实施方式

为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。

参照图1,示出了本申请的一种基于混合云平台的域名解析方法实施例的步骤流程图,应用于域名系统服务器,具体可以包括如下步骤:

步骤101,获取第一域名解析请求。

示例地,dns(中文:域名系统;英文:domainnamesystem)服务器是万维网上作为域名和ip地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的ip数串,域名解析是通过域名得到该域名对应的ip地址的过程,也称作主机名解析。dns协议运行在udp(中文:用户数据报协议;英文:userdatagramprotocol)协议之上,使用端口号53。因此,在用户输入对某一应用的服务获取需求时,dns服务器接收第一域名解析请求,以根据解析到的第一域名对应第一ip地址,以为用户提供所需服务,例如打开对应的网页。

步骤102,响应于第一域名解析请求,确定在域名数据库中是否存在第一域名解析请求对应的第一域名记录。

其中,第一域名记录包括第一a记录和/或第一别名记录。

a记录即为address记录,称为地址记录,能够将一个域名或主机名解析成一个具体的ip地址,用户可以将该域名下的网站服务器指向到对应的网络服务上。别名记录也就是cname,还被称为规范名字,通过别名记录能够将多个名字映射到同一台计算机,通常适应于同时提供www和mail服务的计算机。示例地,有一台计算机名为“host.mydomain.com”,也就是该计算机的a记录(主机名),该主机还同时提供www和mail服务,为了便于用户访问服务,可以为该计算机设置两个别名(cname):www和mail,示例地,这两个别名的全称可以分别设置为:“http://www.mydomain.com”和“mail.mydomain.com”,而实际上他们都指向“host.mydomain.com”这个a记录,也就是说cname记录能够利用别名记录指向(映射回)主机名。

示例地,a记录的来源包括用户手动添加以及云平台服务器自动生成,而别名记录主要由用户进行对应手动添加。

步骤103,当在域名数据库中存在第一域名记录时,确定第一域名记录中的第一a记录和/或第一别名记录对应的第二a记录。

示例地,k8s是google开源的容器集群管理系统,k8s是用8代替kubernetes中“ubernete”8个字符而生成的缩写,它是一个开源的用于管理云平台中多个主机上的容器化的应用,其基于docker技术为容器化,为应用提供部署运行、资源调度、服务发现和动态伸缩等一系列完整功能,但由于云平台的系统特性a记录会出现频繁的变化,因此多采用别名记录作为域名信息。但由于域名解析的协议要求,无法既提供a记录又提供别名记录,因此在混合云平台下,需要追踪到别名记录对应的云平台服务器上的a记录,进而将返回的a记录作为域名解析的结果。

步骤104,根据第一a记录和/或第二a记录,确定第一域名解析请求对应的第一ip地址。

示例地,本申请提出的技术方案允许在dns服务器内部的域名数据库中同时存在一个域名对应的a记录和别名记录,也就是其中会包含不同平台上的a记录和别名记录,但响应于用户的域名解析请求时dns只响应于a记录的结果,也就是根据上述步骤所确定的第一a记录和/或第二a记录输出对应的第一ip地址给客户端,例如是网页浏览器,使得该网页浏览器根据第一ip地址对第一域名所对应的网页内容进行数据包的获取,进而解决混合云平台服务的域名解析问题。将本申请的技术方案作为脚本设置在服务器上,当用户在对混合云平台的应用发出服务请求时,解析对应的服务请求的域名发现对应域名包含a记录和别名记录,则会对该别名记录进一步解析获取到对应的a记录,根据统一的a记录形式对应确定解析请求的第一ip地址,以返回该第一ip地址,实现dns服务器从域名解析到ip地址的服务,该第一ip地址中有不止一个ip地址,客户端分别根据这多个ip地址进行网页数据的获取,以为用户提供相应的数据服务。

综上所述,本申请实施例提供的软件开发工具包的集成方法,获取第一域名解析请求;响应于第一域名解析请求,确定在域名数据库中是否存在第一域名解析请求对应的第一域名记录;当在域名数据库中存在第一域名记录时,确定第一域名记录中的第一a记录和/或第一别名记录对应的第二a记录;根据第一a记录和/或第二a记录,确定第一域名解析请求对应的第一ip地址;其中,第一域名记录包括第一a记录和/或第一别名记录。因此,能够在混合云平台部署时,实现符合dns协议要求的域名解析。

参照图2,示出了本申请的一种基于混合云平台的域名解析方法可选实施例的步骤流程图,步骤103所述的当在域名数据库中存在第一域名记录时,确定第一域名记录中的第一a记录和/或第一别名记录对应的第二a记录,可以包括如下步骤:

步骤1031,确定第一域名记录中是否包括第一别名记录。

示例地,在域名数据库中存储的或者已写入对应第一域名解析请求的a记录以及如果存在别名记录时,其中写入有相应的数据说明该别名记录所指向的云平台,因此,首先判断该第一域名对应的记录中是否包括别名记录,若不包括则直接返回第一a记录,若包括则继续进行下面步骤1032的操作。

步骤1032,当第一域名记录中包括第一别名记录时,确定第一别名记录所对应的云平台服务器。

示例地,当第一别名记录指向的云平台为k8s,则将该第一别名记录的解析请求再次发送至k8s的服务器,便于其进行第一别名记录对应的第二a记录的确定。

步骤1033,将第一别名记录的解析请求发送至云平台服务器。

步骤1034,接收云平台服务器发送的第二a记录。

示例地,当云平台服务器,也就是k8s服务器对第一别名记录进行解析后,确定了其对应的第二a记录后,将该第二a记录返回给dns服务器,进行步骤104的输出,也就是将其统一响应为域名解析结果,以链接到第一域名对应的服务内容。

参照图3,示出了本申请的另一种基于混合云平台的域名解析方法实施例的步骤流程图,该方法还包括如下步骤:

步骤105,当在域名数据库中不存在第一域名记录时,将第一域名解析请求发送至域名系统服务器的上层域名服务器,用于上层域名服务器解析第一域名对应的第一ip地址。

步骤106,接收上层服务器发送的第一ip地址。

示例地,在对第一域名解析请求进行分析后,确定在该dns服务器下是否存在对应的第一域名记录,当不存在时,则说明该第一域名需要再上一层服务器中进行解析,例如首先在.baidu.com的服务器下进行解析,若不存在对应的域名,则将该第一域名解析请求发送至.com的服务器,以对该第一域名进行解析。需要说明的是,如果接收到的第一域名记录中也同时包括a记录和别名记录,则对应执行图1所述的步骤,需统一返回a记录,以获取对应的ip地址,避免产生域名解析服务器的协议冲突问题。

参照图4,示出了本申请的又一种基于混合云平台的域名解析方法实施例的步骤流程图,应用于云平台服务器,该方法包括如下步骤:

步骤401,接收域名服务器发送的第一别名记录的解析请求。

步骤402,响应于解析请求,对第一别名记录进行解析,以确定第一别名记录对应的第二a记录。

步骤403,将第二a记录,发送至域名服务器。

其中,该云平台服务器是根据上述实施例所确定的对应该第一别名记录的云平台,根据第一别名记录将该解析请求发送至云平台服务器,以便于对第一别名记录进行解析,也就是确定第二a记录,并对解析出来的a记录返回至发送第一别名记录的解析指令的域名服务器。

示例地,该云平台对应为k8s,当接收到第一别名记录的解析指令时,查找k8s服务器中存在该记录对应的服务pod的ip地址,将该ip地址作为第二a记录返回至域名服务器,其中,pod是k8s中系统服务的最小单元。

参照图5,示出了本申请的又一种基于混合云平台的域名解析方法实施例的步骤流程图,该方法还包括如下步骤:

步骤404,在对第一应用建立新的域名记录时,对应生成第一应用的别名记录。

示例地,在该云平台设立第一应用对应的服务节点时,为了更好的对应服务节点,可以采用别名记录进行域名的设置,因此,优选的,对第一应用添加对应的别名记录。

需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。

参照图6,示出了本申请的一种基于混合云平台的域名解析装置实施例的结构框图,应用于域名系统服务器,具体可以包括如下模块:

请求获取模块610,用于获取第一域名解析请求。

记录确定模块620,用于响应于第一域名解析请求,确定在域名数据库中是否存在第一域名解析请求对应的第一域名记录,第一域名记录包括第一a记录和/或第一别名记录。

记录确定模块620,还用于当在域名数据库中存在第一域名记录时,确定第一域名记录中的第一a记录和/或第一别名记录对应的第二a记录;

记录输出模块630,用于根据第一a记录和a和/或第二a记录,确定第一域名解析请求对应的第一ip地址。

在本申请的一个可选实施例中,记录确定模块620,包括如下子模块:

记录确定子模块,用于确定第一域名记录中是否包括第一别名记录;

服务器确定子模块,用于当第一域名记录中包括第一别名记录时,确定第一别名记录所对应的云平台服务器;

请求发送子模块,用于将第一别名记录的解析请求发送至云平台服务器;

记录接收子模块,用于接收云平台服务器发送的第二a记录。

可选的,本申请的实施例所示的装置600还包括:

请求发送模块,用于当在域名数据库中不存在第一域名记录时,将第一域名解析请求发送至域名系统服务器的上层域名服务器,用于上层域名服务器解析第一域名对应的第一ip地址;

记录接收模块,用于接收上层服务器发送的第一ip地址。

参照图7,示出了本申请的一种基于混合云平台的域名解析装置实施例的结构框图,应用于云平台服务器,具体可以包括如下模块:

请求接收模块710,用于接收域名服务器发送的第一别名记录的解析请求。

解析模块720,用于响应于解析请求,对第一别名记录进行解析,以确定第一别名记录对应的第二a记录。

发送模块730,用于将第二a记录,发送至域名服务器。

可选的,本申请的实施例所示的装置700还包括:

记录生成模块,用于在对第一应用建立新的域名记录时,对应生成第一应用的别名记录。

本申请实施例还提供了一种非易失性可读存储介质,该存储介质中存储有一个或多个模块(programs),该一个或多个模块被应用在终端设备时,可以使得该终端设备执行本申请实施例中各方法步骤的指令(instructions)。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。

本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1