域名信息处理方法及装置、计算机设备、计算机存储介质与流程

文档序号:24129641发布日期:2021-03-02 17:03阅读:71来源:国知局
域名信息处理方法及装置、计算机设备、计算机存储介质与流程

[0001]
本发明涉及云计算服务平台技术领域,更为具体来说,本发明涉及域名信息处理方法及装置、计算机设备、计算机存储介质。


背景技术:

[0002]
目前,域名系统(dns,domain name system)能够提供一种分布式网络目录服务,用于实现域名和ip地址(网际互连协议地址,internet protocol address)之间的相互转换。
[0003]
在云平台集群系统中,许多用于微服务的容器分散部署在多个物理或虚拟的服务器(即节点)上。以openshift云平台为例,云平台集群系统中的dns具有如下功能:(1)在云平台内部的应用通过域名访问外网时需要借助dns来解析外网的域名;(2)云平台内部通过服务的域名访问云平台内服务时需要dns解析域名,即服务发现功能;(3)云平台外部通过域名访问部署在云平台内节点中的服务时,需要借助dns解析当前服务的外网域名。
[0004]
可见现有的云计算服务平台只能实现用于提供服务的域名解析功能,管理员无法根据实际需要对域名进行操作,所以现有的云计算服务平台仍存在可操作性不佳、功能较单一、用户体验不好等问题,亟需得到改进。


技术实现要素:

[0005]
为解决现有云计算服务平台存在的功能单一、用户体验差等问题,本发明提供了一种域名信息处理方法及装置、计算机设备、计算机存储介质。
[0006]
为实现上述技术目的,本发明公开了一种域名信息处理方法,该域名信息处理方法可包括但不限于如下的步骤。
[0007]
获取部署于第一节点上的第一容器暴露出的端口信息。
[0008]
基于所述端口信息向所述第一节点发出请求信息,所述请求信息包括指令信息和域名信息。
[0009]
调用用于执行所述指令信息的域名系统服务器。
[0010]
利用被调用的所述域名系统服务器对所述域名信息进行处理。
[0011]
进一步地,所述指令信息为域名解析指令信息;所述调用用于执行所述指令信息的域名系统服务器包括:
[0012]
基于上游域名系统服务器的当前网际互连协议地址对所述请求信息进行转发,并将所述请求信息转发至用于域名解析的上游域名系统服务器,以调用用于执行所述指令信息的上游域名系统服务器。
[0013]
进一步地,所述利用被调用的所述域名系统服务器对所述域名信息进行处理包括:利用所述上游域名系统服务器对收到的域名信息进行域名解析处理。
[0014]
进一步地,在所述第一节点上设置有用于记录所述当前网际互连协议地址的配置文件;所述域名信息处理方法还包括:
[0015]
按照设定周期将用于进行请求信息转发的实际网际互连协议地址与所述当前网际互连协议地址进行比较,并在比较结果不一致条件下将所述当前网际互连协议地址修改为实际网际互连协议地址。
[0016]
进一步地,所述指令信息包括域名删除指令信息、域名修改指令信息、域名查看指令信息、域名创建指令信息中的至少一种;所述利用被调用的所述域名系统服务器对所述域名信息进行处理包括:
[0017]
在所述域名系统服务器上对域名信息中包含的域名进行删除或修改或查看或创建处理。
[0018]
进一步地,所述请求信息还包括网际互连协议地址;所述调用用于执行所述指令信息的域名系统服务器包括:
[0019]
调用与所述网际互连协议地址相对应的且设置于第二容器内的域名系统服务器,所述第二容器部署于第二节点上。
[0020]
进一步地,所述第一节点具有虚拟网际互连协议地址。
[0021]
所述第二节点与所述第一节点相同或不同。
[0022]
为实现上述的技术目的,本发明还公开了一种域名信息处理装置,该域名信息处理装置可包括但不限于端口获取模块、请求发起模块、服务器调用模块及域名处理模块。
[0023]
端口获取模块,用于获取部署于第一节点上的第一容器暴露出的端口信息。
[0024]
请求发起模块,用于基于所述端口信息向所述第一节点发出请求信息,所述请求信息包括指令信息和域名信息。
[0025]
服务器调用模块,用于调用域名系统服务器,且所述域名系统服务器用于执行所述指令信息。
[0026]
域名处理模块,用于利用被调用的所述域名系统服务器对所述域名信息进行处理。
[0027]
为实现上述技术目的,本发明还可提供一种计算机设备,所述计算机设备棵包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如本发明任一实施例中的所述域名信息处理方法。
[0028]
为实现上述技术目的,本发明还能够提供一种计算机存储介质,所述计算机存储介质上存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如本发明任一实施例中的所述域名信息处理方法。
[0029]
本发明的有益效果为:
[0030]
在不破坏现有的云平台架构的前提上,本发明能够实现对租户网络的虚拟机或者负载均衡器等云平台内设备的域名进行有效管理,具体可实现对公网域名和私网域名的增加或删除或查看或创建等操作,可操作性较强。
[0031]
本发明能够对发送到云平台集群上的任一个节点的域名进行快速且有效地解析,具有域名解析效果较好、通用性较强等优点。
[0032]
本发明不仅能够为云平台内的私网域名和公网域名进行解析,还能够为通过公网域名访问的云平台外计算机提供域名解析服务,所以本发明还具有适用范围较广等优点。
附图说明
[0033]
图1示出了本发明一个或者多个实施例中的域名信息处理方法流程示意图。
[0034]
图2示出了本发明一个或者多个实施例中的域名管理方法流程示意图。
[0035]
图3示出了本发明一个或者多个实施例中的域名解析方法流程示意图。
[0036]
图4示出了本发明一个或者多个实施例中的openshift云平台的配置状态示意图。
[0037]
图5示出了本发明一个或者多个实施例中的域名解析装置组成示意图。
[0038]
图6示出了本发明一个或者多个实施例中的计算机设备的内部结构框图。
具体实施方式
[0039]
下面结合说明书附图对本发明提供的一种域名信息处理方法及装置、计算机设备、计算机存储介质进行详细的解释和说明。
[0040]
请参阅图1,本发明一个或多个实施例中能够提供一种域名信息处理方法,该域名信息处理方法可包括但不限于如下的至少一个步骤。
[0041]
步骤100,本发明首先可获取部署于第一节点上的第一容器暴露出的端口(nodeport)信息。本发明可在云计算服务平台上搭建,云计算服务平台例如可以是openshift,平台上的多个节点形成云平台集群。本实施例中的第一容器例如可以是designate容器,第一节点可以具有虚拟网际互连协议地址(vip,virtual internet protocol)。其中,designate为openstack中云解析服务组件,openstack具体为通过命令或可视化控制面板来管理云端的一种工具。更为具体地,openstack可理解为是一个开源的云计算管理平台项目,由几个主要的组件组合起来完成具体工作。openstack可支持几乎所有类型的云环境,包括本发明中的openshift云环境,可提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。openstack通过各种互补的服务提供基础设施即服务(iaas)的解决方案,每个服务提供api以进行集成。本发明利用docker安装相关程序,docker为开源的应用容器引擎,可打包应用以及依赖包到一个可移植的容器中,然后再发布到linux机器设备上,实现虚拟化。
[0042]
步骤200,基于端口信息向第一节点发出请求信息,请求信息可包括但不限于指令信息和域名信息。基于虚拟网际互连协议地址,本发明能够访问集群中任意节点暴露出的端口,从而向任一节点发出请求信息;所以本发明的第一节点可以是主节点(master),也可以是从节点(node),本发明既能够向主节点发出请求信息,也可以向从节点发出请求信息,可见本发明适用性较强。
[0043]
步骤300,调用用于执行指令信息的域名系统(dns,domain name system)服务器。在openshift云平台下,本实施例中的域名系统服务器功能例如可以通过bind9程序实现。其中,bind9程序是一种开源的实现dns协议的程序或软件。bind9程序和云解析服务组件openstack可部署于相同容器或者不同的容器。本发明可在docker容器下dockerfile目录中安装designate相关程序和bind9程序,从而在容器启动后启动designate相关服务以及bind9的服务。
[0044]
步骤400,利用被调用的域名系统服务器对域名信息进行处理。即可通过bind9程序完成域名的相应操作。
[0045]
请参阅图2,本发明另一些实施例可提供一种域名信息处理方法,该域名信息处理
方法具体可以为域名管理方法。
[0046]
步骤100,获取部署于第一节点上的第一容器暴露出的端口信息。本实施例中第一容器为designate容器,暴露的端口为第一节点上的tcp 9001端口。
[0047]
步骤200,基于端口信息向第一节点发出请求信息,请求信息可包括指令信息和域名信息。
[0048]
指令信息包括域名删除指令信息、域名修改指令信息、域名查看指令信息、域名创建指令信息中的至少一种。本实施例中的请求信息还可包括网际互连协议地址(ip,internet protocol)。
[0049]
步骤300,调用用于执行指令信息的域名系统服务器。本实施例中的域名系统服务器通过bind9程序实现,其在云平台内使用的端口可为udp53端口。
[0050]
本实施例调用用于执行指令信息的域名系统服务器可包括但不限于如下的步骤。
[0051]
步骤301,调用与网际互连协议地址相对应的且设置于第二容器内的域名系统服务器。第二容器部署于第二节点上,本实施例中的第二容器也可以是designate容器。第二节点与第一节点相同或者不同。openshift云平台下的在第二节点与第一节点相同时,本实施例的第二容器与第一容器可相同(默认情况下),当然也可以不同。
[0052]
步骤400,利用被调用的域名系统服务器对域名信息进行处理。
[0053]
本实施例利用被调用的域名系统服务器对域名信息进行处理可包括但不限于如下的步骤。
[0054]
步骤401,在域名系统服务器上对域名信息中包含的域名进行删除或修改或查看或创建处理。
[0055]
本发明可基于http方式下发创建/删除/查看/修改域名的请求,本发明能够在域名系统服务器上对域名进行删除、修改、查看或创建等操作,可实现对租户网络的虚拟机(virtual machine,vm)或负载均衡器(load balance,lb)等云平台内设备的私网域名和公网域名进行有效管理。以openshift为例,本发明能够在保留openshift原有功能的基础上实现对租户网络域名的托管,达到扩展openshift域名管理功能的目的,管理员等用户可操作空间较大、体验非常好。
[0056]
在云平台中无法将容器作为dns服务器,原因在于容器无法被租户网络的虚拟机和云外的计算机访问,租户网络的虚拟机和云外的计算机只能够对云平台中的节点进行访问。例如,某用户基于http请求创建了一个虚拟机,网际互连协议地址(ip地址)例如为1.1.1.1,形成的域名记录例如为vm1.example.org.,该域名对应的网际互连协议地址为1.1.1.1。用户虽期望通过designate容器直接对域名vm1.example.org.进行解析,但“容器无法被租户网络的虚拟机和云外的计算机访问”,可见常规的方案无法对用户创建的虚拟机对应的域名进行快速解析。为了解决该问题,本发明还能够提供如下的技术方案。
[0057]
请参阅图3,本发明还有一个或多个实施例可提供一种域名信息处理方法,该域名信息处理方法具体可为域名解析方法。具体地,该方法包括但不限于如下的步骤。
[0058]
步骤100,获取部署于第一节点上的第一容器暴露出的端口信息。在第一节点上设置有用于记录上游域名系统服务器(upstream domain name system)的当前网际互连协议地址的配置文件;域名信息处理方法还可包括:按照设定周期将用于进行请求信息转发的实际网际互连协议地址与当前网际互连协议地址进行比较,并在比较结果不一致条件下将
所述当前网际互连协议地址修改为实际网际互连协议地址,以保证被调用的配置文件中记录的当前网际互连协议地址是准确的。
[0059]
在openshift云平台下,上游域名系统服务器的配置文件文件名例如可为“/etc/resolv.dnsmasq.conf”,对实际网际互连协议地址(实际ip地址)进行查看的周期例如为10秒,即每10秒检查一次;如果发现配置文件中记录的内容与上游域名系统服务器的实际网际互连协议地址不一致情况下,对配置文件中的当前网际互连协议地址进行修改,以使配置文件中记录的当前网际互连协议地址始终与上游域名系统服务器的实际网际互连协议地址保持一致。
[0060]
步骤200,基于端口信息可向第一节点发出请求信息,请求信息包括指令信息和域名信息。指令信息为域名解析指令信息。域名信息中包含的域名可类似于vm1.example.org.,该域名vm1.example.org.对应的网际互连协议地址(ip地址)例如为1.1.1.1。
[0061]
步骤300,调用用于执行指令信息的域名系统服务器。
[0062]
本实施例调用用于执行指令信息的域名系统服务器可包括但不限于如下的步骤。
[0063]
步骤302,基于上游域名系统服务器的当前网际互连协议地址对请求信息进行转发,并将请求信息转发至用于域名解析的上游域名系统服务器(upstream domain name system),例如本发明可将域名vm1.example.org.转发至上游域名系统服务器,从而调用用于执行指令信息的上游域名系统服务器。
[0064]
请参阅图4,本发明利用域名配置工具且基于当前网际互连协议地址对请求信息进行转发。在openshift云平台下,本实施例能够利用dnsmasq工具(一个小巧且方便的域名配置工具,即dns配置工具)实现对请求信息的转发功能,dnsmasq工具可使用53端口,进而能够将53端口流量转发至上游dns(即用于作为第一容器的designate容器)。可理解的是,本发明既可在主节点上布置dnsmasq工具和designate容器,也可以在从节点上布置dnsmasq工具和designate容器。由此,在租户网络的虚拟机和云外的计算机只能够对云平台中的节点进行访问的条件下,本发明仍然能为租户网络的虚拟机或负载均衡器和云外的计算机提供域名解析功能,其中,dnsmasq工具所实现的designate服务的ip例如可以是10.100.103.44。另外,本发明还可在发现配置文件中记录的内容与上游域名系统服务器的网际互连协议地址(ip地址)不一致情况下且对配置文件中记录的当前网际互连协议地址进行修改后,重启该dnsmasq工具,以进一步确保配置文件中记录的当前网际互连协议地址始终与上游域名系统服务器的实际网际互连协议地址保持一致。
[0065]
步骤400,利用被调用的域名系统服务器对域名信息进行处理。如果在openshift云平台下,可在被调用的域名系统服务器中设置bind9程序,以具体利用bind9程序解析域名。
[0066]
本实施例利用被调用的域名系统服务器对域名信息进行处理包括:
[0067]
步骤402,利用上游域名系统服务器对收到的域名信息进行域名解析处理,bind9程序设置于上游域名系统服务器中。可见本发明能满足用户基于http请求创建私网域名和公网域名的需求。
[0068]
因此,openshift云平台下的本实施例对域名解析的整体流程可为:第一节点上的端口

上游域名系统服务器

bind9程序。
[0069]
本发明既能够为云平台内租户提供域名的解析功能,又能够为云平台外计算机(pc,personal computer)提供域名的解析功能。基于转发至上游域名系统服务器方式,无论第一容器部署在集群中的哪一个节点上,本发明都能够完成对域名的准确解析,而且本发明任一节点上的端口均能够用于接收待解析的域名,域名解析效率较高。
[0070]
可理解的是,对于云平台集群内的容器服务的域名解析,在openshift平台下可直接采用openshift原始的解析功能,例如可转发至127.0.0.1:53端口,基于openshift的rabbitmq服务的ip(10.100.79.21)进行解析。
[0071]
请参阅图5,本发明另一些实施例能够提供一种域名信息处理装置,域名信息处理装置可包括但不限于端口获取模块、请求发起模块、服务器调用模块以及域名处理模块。
[0072]
端口获取模块可用于获取部署于第一节点上的第一容器暴露出的端口信息。本发明一个或多个实施例中的域名信息处理装置中的各个模块可在云计算服务平台上搭建,本发明使用的云计算服务平台例如可以包括但不限于openshift,平台上的多个节点可形成云平台集群。本实施例中的第一容器例如可以是designate容器。
[0073]
在域名信息处理装置实现域名解析功能时,域名信息处理装置可包括信息检查模块。信息检查模块用于在域名信息处理装置实现域名解析功能时,可用于按照设定周期将用于进行请求信息转发的实际网际互连协议地址与当前网际互连协议地址比较,并在比较结果不一致条件下将所述当前网际互连协议地址修改为实际网际互连协议地址,从而可保证被调用的配置文件中记录的当前网际互连协议地址是准确的。本实施例在第一节点上设置有用于记录上游域名系统服务器(upstream domain name system)的当前网际互连协议地址的配置文件。
[0074]
请求发起模块可用于基于端口信息向第一节点发出请求信息,请求信息包括指令信息和域名信息。在域名信息处理装置实现域名解析功能时,指令信息可为域名解析指令信息,域名信息中包含的域名可类似于vm1.example.org.,该域名vm1.example.org.对应的网际互连协议地址(ip地址)例如为1.1.1.1。在域名信息处理装置实现域名管理功能时,指令信息可包括但不限于域名删除指令信息、域名修改指令信息、域名查看指令信息、域名创建指令信息中的至少一种,请求信息还包括网际互连协议地址。
[0075]
服务器调用模块可用于调用域名系统服务器,且域名系统服务器用于执行指令信息。在域名信息处理装置实现域名解析功能时,服务器调用模块用于利用上游域名系统服务器对收到的域名信息进行域名解析处理,并在具体工作时服务器调用模块用于基于上游域名系统服务器的当前网际互连协议地址对请求信息进行转发,并将请求信息转发至用于域名解析的上游域名系统服务器,例如本发明可将域名vm1.example.org.转发至上游域名系统服务器,从而调用用于执行指令信息的上游域名系统服务器,在openshift云平台下,本实施例能够利用dnsmasq工具(一个小巧且方便的域名配置工具,即dns配置工具)实现对请求信息的转发功能,dnsmasq工具可使用53端口,进而能够将53端口流量转发至上游dns(即用于作为第一容器的designate容器)。可理解的是,本发明既可在主节点上布置dnsmasq工具和designate容器,也可以在从节点上布置dnsmasq工具和designate容器。由此,在租户网络的虚拟机和云外的计算机只能够对云平台中的节点进行访问的条件下,本发明仍然能为租户网络的虚拟机或负载均衡器和云外的计算机提供域名解析功能。在域名信息处理装置实现域名管理功能时,调用与网际互连协议地址相对应的且设置于第二容器
内的域名系统服务器;第二容器部署于第二节点上,本实施例中的第二容器也可以是designate容器;本实施例中的域名系统服务器通过bind9程序实现,其在云平台内使用的端口可为udp 53端口。
[0076]
域名处理模块可用于利用被调用的域名系统服务器对域名信息进行处理。在域名信息处理装置实现域名解析功能时,域名处理模块利用上游域名系统服务器对收到的域名信息进行域名解析处理;域名处理模块例如通过bind9程序实现。在域名信息处理装置实现域名管理功能时,域名处理模块可用于在域名系统服务器上对域名信息中包含的域名进行删除或修改或查看或创建处理。
[0077]
基于上述的域名信息处理装置,本发明也能够在域名系统服务器上对域名进行删除、修改、查看或创建等操作,可实现对租户网络的虚拟机(virtual machine,vm)或负载均衡器(load balance,lb)等云平台内设备的私网域名和公网域名进行有效管理。以openshift为例,本发明能够在保留openshift原有功能的基础上实现对租户网络域名的托管,达到扩展openshift域名管理功能的目的,管理员等用户可操作空间较大、体验非常好。本发明既能够为云平台内租户提供域名的解析功能,又能够为云平台外计算机(pc,personal computer)提供域名的解析功能。基于转发至上游域名系统服务器方式,无论第一容器部署在集群中的哪一个节点上,本发明都能够完成对域名的准确解析,而且本发明任一节点上的端口均能够用于接收待解析的域名,域名解析效率较高。
[0078]
请参阅图6,本发明还有一些实施例能够提供一种计算机设备,计算机设备可包括存储器和处理器,存储器中存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行如本发明任一实施例中的域名信息处理方法。该域名信息处理方法可包括但不限于如下的至少一个步骤。步骤100,获取部署于第一节点上的第一容器暴露出的端口信息。步骤200,基于端口信息向第一节点发出请求信息,请求信息可包括指令信息和域名信息。步骤300,调用用于执行指令信息的域名系统服务器。步骤400,利用被调用的域名系统服务器对域名信息进行处理。
[0079]
本发明还能够提供一种计算机存储介质,该计算机存储介质上存储有计算机可读指令,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如本发明任一实施例中的域名信息处理方法。该域名信息处理方法可包括但不限于如下的至少一个步骤。步骤100,获取部署于第一节点上的第一容器暴露出的端口信息。步骤200,基于端口信息向第一节点发出请求信息,请求信息可包括指令信息和域名信息。步骤300,调用用于执行指令信息的域名系统服务器。步骤400,利用被调用的域名系统服务器对域名信息进行处理。
[0080]
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读存储介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读存储介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读存储介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram,
random access memory),只读存储器(rom,read-only memory),可擦除可编辑只读存储器(eprom,erasable programmable read-only memory,或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom,compact disc read-only memory)。另外,计算机可读存储介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
[0081]
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga,programmable gate array),现场可编程门阵列(fpga,field programmable gate array)等。
[0082]
在本说明书的描述中,参考术语“本实施例”、“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
[0083]
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
[0084]
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明实质内容上所作的任何修改、等同替换和简单改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1