首页> 中国专利> 一种云计算环境中域名解析规则的更新方法及装置

一种云计算环境中域名解析规则的更新方法及装置

摘要

本发明公开了一种云计算环境中域名解析规则的更新方法及装置,所述方法包括:在当前虚机的当前IP产生变化的情况下,更新虚拟主机注册表中当前虚机的当前IP,并从本地域名解析规则文件中获取当前虚机所依赖的其他虚机的当前IP;当前虚机依据其他虚机的当前IP向其他虚机发送IP变化消息,其他虚机依据所述IP变化消息判断当前虚机是否是其依赖的虚机;如果是,则其他虚机依据变化后的IP更新本地的域名解析规则,如果否,则其他虚机拒绝IP变化消息。本发明实施例能实现在没有全局的域名服务器的情况下,自动更新某个虚机所依赖的虚机的域名解析规则,从而免除用户的手动维护操作,提高了更新的效率,减小了云计算环境的运维开销。

著录项

  • 公开/公告号CN103297548A

    专利类型发明专利

  • 公开/公告日2013-09-11

    原文格式PDF

  • 申请/专利权人 上海盛霄云计算技术有限公司;

    申请/专利号CN201210043053.2

  • 发明设计人 杨杰;夏志峰;聂颂;

    申请日2012-02-23

  • 分类号H04L29/12;H04L29/08;

  • 代理机构北京集佳知识产权代理有限公司;

  • 代理人逯长明

  • 地址 201203 上海市浦东新区张江高科技园区郭守敬路356号3幢124室

  • 入库时间 2024-02-19 21:10:10

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-12-19

    授权

    授权

  • 2015-03-04

    实质审查的生效 IPC(主分类):H04L29/12 申请日:20120223

    实质审查的生效

  • 2014-07-02

    专利申请权的转移 IPC(主分类):H04L29/12 变更前: 变更后: 登记生效日:20140605 申请日:20120223

    专利申请权、专利权的转移

  • 2013-09-11

    公开

    公开

说明书

技术领域

本发明涉及云计算领域,更具体的说,是涉及一种云计算环境中域名 解析规则的更新方法及装置。

背景技术

IP地址是计算机之间通过网络进行通信的基础。由于计算机的IP地 址可能发生变化(例如由于采用动态IP地址分配机制为计算机分配IP等), 很多应用往往使用域名替代IP地址。在应用运行过程中,计算机域名最终 还是需要解析为IP,为此计算机需要配置域名服务器或者依赖于本地的域 名解析规则。

由于域名服务器为计算机提供了一个全局的域名解析服务,因此,在 域名解析服务器的范围内,所有计算机不得使用相同的域名;此外,当计 算机的IP发生变化时,必须及时更新域名服务器中的域名解析规则,以便 保证域名解析服务的正确性。在传统计算机网络中,考虑到域名服务器的 全局性,在域名服务器中的域名解析规则是较少发生变化的。此外,为了 保证域名解析服务的服务质量和可扩展性,域名服务器往往组织为层级结 构,不同层级的域名服务器往往会缓存自己的域名解析规则,因此,在计 算机IP发生变化需要更新域名解析规则的情况下,最新的域名解析规则往 往要经过一段比较长的时间才能生效。

在云计算环境中,用户的虚拟机的内部IP往往是动态分配的,即便是 采用静态IP的虚机,在重启后其内部IP也可能发生变化,此外,当虚机 保存为镜像并删除后,再次根据新镜像申请的虚机,其内部IP也往往是新 的。在这种内部IP会发生变化的情况下,如果应用依赖于一个内部的域名 服务器来为虚机解析域名,该域名服务器势必要频繁的更新其内部的域名 解析规则。这一方面为域名服务器带来极大的计算开销,同时也为整个云 计算环境带来了额外的运维开销。因为一旦在云计算环境中引入一台域名 服务器,为了消除单点失效,就必须至少再引入一台域名服务器的备机。

另一种解析域名的机制依赖于计算机本地的域名解析规则。该规则由 用户手动进行维护,即用户必须明确的知道其应用所依赖的虚机的内部IP, 并相应的设置域名解析规则(例如:my.db 192.168.1.7)。

在云计算环境中,考虑到虚机的内部IP很可能随时发生变化,因此, 用户显然无法实时感知其应用所依赖的虚机的内部IP的变化,尤其是其应 用所依赖的虚机是由其他用户所提供和维护时。由于云计算环境中虚机的 内部IP往往是动态分配的,因此部署在虚机上并且使用内部域名的分布式 应用必须及时更新与应用相关的所有使用域名的虚机的域名解析规则,才 能保证在为应用提供服务的虚机的内部IP发生变化后,整个分布式应用还 能正常运行。

现有技术可以在云计算平台内部提供独立的内部域名服务器来支持虚 机的内部域名解析。考虑到虚机的内部IP可能经常发生变化,该解决方案 将导致内部域名服务器的域名解析规则频繁发生变化,从而影响整个云计 算平台内部的域名解析服务。此外,该技术为整个云计算平台的运维带来 了额外的花销,包括用于提供稳定可靠域名解析服务的物理设施、相应的 人力成本等。

但是不依赖于内部域名服务器的现有技术,要求虚机的用户手动维护 一份本地域名解析规则。这就要求用户及时感知其所依赖的虚机的内部IP 的变化,并及时更新本地的域名解析规则。显然,在云计算环境中,当用 户的应用依赖于多个虚机提供的服务,或者用户所依赖的某些虚机是由其 他用户进行维护时,用户无法实时感知虚机的IP变化。

综上,现有技术中云计算环境内部独立的域名服务器难以处理云计算 环境中频繁发生的虚机内部IP变化带来的频繁的域名解析规则的变化,云 计算环境内部独立的域名服务器将成为内部应用的一个瓶颈,并且为整个 云计算环境的运行和维护带来额外的开销。而另外一种现有技术的计算机 内部的域名解析规则要求用户手动维护,容易出错,并且无法在其所依赖 的虚机的内部IP发生变化后及时更新,从而容易导致应用无法正常运行。

发明内容

有鉴于此,本发明提供了一种云计算环境中域名解析规则的更新方法 及装置,以克服现有技术中更新域名解析规则时给云计算环境的运行和维 护带来额外的开销,以及更新效率和准确率低的问题。

为实现上述目的,本发明提供如下技术方案:

一种云计算环境中域名解析规则的更新方法,包括:

检测当前虚拟主机的当前IP是否产生变化;

在所述当前虚拟主机的当前IP产生变化的情况下,更新虚拟主机注册 表中所述当前虚拟主机的当前IP,并从本地域名解析规则文件中获取所述 当前虚拟主机所依赖的其他虚拟主机的当前IP;其中,所述虚拟主机注册 表用于存储各虚拟主机的标识及当前IP的映射关系;所述本地域名解析规 则文件用于存储所述当前虚拟主机对所述其他虚拟主机的域名解析规则, 所述域名解析规则包括所述其他虚拟主机的域名和当前IP的映射关系;

所述当前虚拟主机依据所述其他虚拟主机的当前IP向所述其他虚拟 主机发送IP变化消息,所述IP变化消息包括所述当前虚拟主机的标识及 其变化后的IP,以触发所述其他虚拟主机依据所述IP变化消息判断所述 当前虚拟主机是否是其依赖的虚拟主机;如果是,则所述其他虚拟主机依 据所述变化后的IP更新本地的域名解析规则,如果否,则所述其他虚拟主 机拒绝所述IP变化消息。

优选的,在所述其他虚拟主机拒绝所述IP变化消息之后,还包括:

所述当前虚拟主机从所述虚拟主机注册表中获取所述其他虚拟主机的 更新后的IP,并依据所述更新后的IP再次发送IP变化消息;

在所述在IP变化消息再次被所述其他虚拟主机拒绝的情况下,所述当 前虚拟主机从本地的域名解析规则文件中删除对应的域名解析规则。

优选的,还包括:

在接收到用户的域名解析规则增加指令后,在所述当前虚拟主机的本 地域名解析规则文件中对应增加域名解析规则,或者,

在接收到用户的域名解析规则删除指令后,在所述当前虚拟主机的本 地域名解析规则文件中对应删除域名解析规则。

优选的,还包括:

所述当前虚拟主机向增加或者删除的域名解析规则中所依赖的其他虚 拟主机发送域名依赖请求或者解除域名依赖请求,以便于所述其他虚拟主 机增加或者删除本地对应的域名解析规则。

优选的,所述检测当前虚拟主机的当前IP是否产生变化,具体包括:

在所述当前虚拟主机使用静态IP的情况下,直接获取所述当前虚拟主 机的IP,并判断是否与预先保存的IP一致;

或者,在所述当前虚拟主机使用动态IP的情况下,周期性的获取所述 当前虚拟主机的IP,并判断当前获取的IP与最近一次保存的IP是否一致。

一种云计算环境中域名解析规则的更新装置,包括:

检测模块,用于检测当前虚拟主机的当前IP是否产生变化;

更新模块,用于在所述当前虚拟主机的当前IP产生变化的情况下,更 新虚拟主机注册表中所述当前虚拟主机的当前IP;所述虚拟主机注册表用 于存储各虚拟主机的标识及当前IP的映射关系;

获取模块,用于从本地域名解析规则文件中获取所述当前虚拟主机所 依赖的其他虚拟主机的当前IP;所述本地域名解析规则文件用于存储所述 当前虚拟主机对所述其他虚拟主机的域名解析规则,所述域名解析规则包 括所述其他虚拟主机的域名和当前IP的映射关系;

发送模块,用于依据所述其他虚拟主机的当前IP向所述其他虚拟主机 发送IP变化消息,所述IP变化消息包括所述当前虚拟主机的标识及其变 化后的IP,以触发所述其他虚拟主机依据所述IP变化消息判断所述当前 虚拟主机是否是其依赖的虚拟主机;如果是,则所述其他虚拟主机依据所 述变化后的IP更新本地的域名解析规则,如果否,则所述其他虚拟主机拒 绝所述IP变化消息。

优选的,还包括:

第二获取模块,用于所述当前虚拟主机从所述虚拟主机注册表中获取 所述其他虚拟主机的更新后的IP;

则所述发送模块,还用于依据所述更新后的IP再次发送IP变化消息;

删除模块,用于在所述在IP变化消息再次被所述其他虚拟主机拒绝的 情况下,所述当前虚拟主机从本地的域名解析规则文件中删除对应的域名 解析规则。

优选的,还包括:

增加模块,用于在接收到用户的域名解析规则增加指令后,在所述当 前虚拟主机的本地域名解析规则文件中对应增加域名解析规则;

删除模块,用于在接收到用户的域名解析规则删除指令后,在所述当 前虚拟主机的本地域名解析规则文件中对应删除域名解析规则。

优选的,所述发送模块,还用于所述当前虚拟主机向增加或者删除的 域名解析规则中所依赖的其他虚拟主机发送域名依赖请求或者解除域名依 赖请求,以便于所述其他虚拟主机增加或者删除本地对应的域名解析规则。

优选的,所述检测模块,具体包括:

第一获取子模块,用于在所述当前虚拟主机使用静态IP的情况下,直 接获取所述当前虚拟主机的IP,并判断是否与预先保存的IP一致;

第二获取子模块,用于在所述当前虚拟主机使用动态IP的情况下,周 期性的获取所述当前虚拟主机的IP,并判断当前获取的IP与最近一次保 存的IP是否一致。

经由上述的技术方案可知,与现有技术相比,本发明实施例能实现在 没有全局的域名服务器的情况下,自动更新某一个虚拟主机所依赖的虚拟 主机的域名解析规则,从而免除用户的手动维护操作,提高了更新的效率, 减小了云计算环境的运维开销。此外,本发明实施例可以自动监控其所在 虚机的内部IP变化,并及时通知依赖于该当前虚机的其它虚机;同时还会 及时接收来自其所依赖的其它虚机的内部IP变化信息,并及时更新当前虚 机的本地的域名解析规则,解决了如何在没有内部域名服务器的情况下, 自动更新云计算环境中的虚机内部的域名解析规则的技术问题,从而保证 在某个应用所依赖的虚机的内部IP发生变化后,该应用仍然能够根据虚机 内部的域名解析规则正确解析出变化后的IP。

本发明实施例可以应用于一个相对独立的虚机集合,不同的虚机集合 之间互不影响,因此本发明实施例具有良好的扩展性,不管应用环境中用 户有多少,都不影响本发明实施例的应用,即便整体系统规模增大也不影 响本发明实施例的有效性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对 实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地, 下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲, 在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明公开的云计算环境中域名解析规则的更新方法实施例1 的流程图;

图2为本发明公开的云计算环境中域名解析规则的更新方法实施例2 的流程图;

图3为本发明实施例中增加域名解析规则的流程图;

图4为本发明实施例中删除域名解析规则的流程图;

图5为本发明实施例应用于实际中的系统架构图;

图6为本发明公开的云计算环境中域名解析规则的更新装置实施例1 的结构示意图;

图7为本发明公开的云计算环境中域名解析规则的更新装置实施例2 的结构示意图;

图8本发明公开的云计算环境中域名解析规则的更新装置实施例3的 结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进 行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例, 而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没 有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的 范围。

本发明实施例公开的以虚拟主机为中心的域名解析规则更新装置,可 以是部署在虚拟主机内部的一个软件模块。该软件模块可以由用户根据需 要手动安装,也可以内置在虚拟主机的镜像中,从而在创建虚拟主机的同 时安装该软件模块。该软件模块在运行过程中,一方面可以实时监控自身 的内部IP变化,并及时通知依赖于该虚拟主机的其它虚拟主机;另一方面, 该软件模块实时接收来自其它虚拟的内部IP变化消息,并及时更新本地的 域名解析规则。本发明实施例以虚机为中心进行域名解析规则的自动更新, 具有良好的扩展性,适用于任意规模的云计算环境,并且上述软件模块可 以作为各个虚拟主机的一部分,因此不会为云计算环境带来额外的运维开 销,也不影响更新的效率和准确性。

实施例一

参见图1所示,图1为本发明实施例公开的云计算环境中域名解析规 则的更新方法实施例1的流程图,本实施例主要从发明的实现流程上对各 个步骤进行详细介绍,本实施例可以包括:

步骤101:检测当前虚拟主机的当前IP是否产生变化。

本步骤可以由“IP变化监控器”实现。在本实施例中,假设软件模块 的各个部件已经启动运行,“IP变化监控器”在启动后,开始检测自身IP (即是虚拟主机的当前IP)是否与此前记录在虚拟主机注册表中的IP相 同。其中,所述虚拟主机注册表用于存储各虚拟主机的标识及当前IP的映 射关系,在本实施例中,虚拟主机注册表是全局的,即是该注册表可以被 全局的虚拟主机共享,保存有全局的各个虚拟主机的标识及各个虚拟主机 的当前IP的映射关系。

本步骤的实现也需要分情况,在所述当前虚拟主机使用静态IP的情况 下,直接获取所述当前虚拟主机的IP,并判断是否与预先保存的IP一致 即可。也即当虚机使用静态IP时,软件模块只需在启动后获取一次IP, 并将其与虚拟主机注册表中保存的IP进行比较即可。

或者,在所述当前虚拟主机使用动态IP的情况下,周期性的获取所述 当前虚拟主机的IP,并判断当前获取的IP与最近一次保存的IP是否一致。 当虚机使用动态IP时,需要周期性的探测本地的IP,并与之前虚拟主机 注册表中记录的最近一次的IP进行比较。

步骤102:在所述当前虚拟主机的当前IP产生变化的情况下,更新虚 拟主机注册表中所述当前虚拟主机的当前IP。

IP变化监控器一旦检测到当前虚拟主机的当前IP产生变化,需要更 新虚拟主机注册表中的IP信息,本步骤更新虚拟主机注册表的目的,是为 了其他虚拟主机可以从该注册表中查找到该当前虚拟主机最近更新的IP, 这样也能尽量保证从该注册表中获取到的IP是最新的,从而可以提高更新 的效率和准确度。

步骤103:从本地域名解析规则文件中获取所述当前虚拟主机所依赖 的其他虚拟主机的当前IP。

本步骤再从本地域名解析规则文件中的虚拟主机之间的依赖关系中, 获取所述当前虚拟主机所依赖的其他虚拟主机的当前IP。其中,当前虚拟 主机依赖其他虚拟主机的含义即为,当前虚拟主机需要访问某个虚拟主机 时,则认为当前虚拟主机对该某个虚拟主机具有依赖关系。

其中,所述本地域名解析规则文件用于存储所述当前虚拟主机对所述 其他虚拟主机的域名解析规则,所述域名解析规则包括所述其他虚拟主机 的域名和当前IP的映射关系。当前虚拟主机在访问其他虚拟主机的时候, 是知道其他虚拟主机的域名的,然后从本地的域名解析规则文件中获取到 其他虚拟主机的域名对应的IP,直接按照其他虚拟主机的IP进行访问即 可。需要说明的是,每一台虚拟主机都保存有一个域名解析规则文件,在 该域名解析规则文件中保存着该虚拟主机自己所依赖的其他主机的域名和 IP。

步骤104:所述当前虚拟主机依据所述其他虚拟主机的当前IP向所述 其他虚拟主机发送IP变化消息,所述IP变化消息包括所述当前虚拟主机 的标识及其变化后的IP。

当前虚拟主机在IP变化时依据获得该当前虚机所依赖的其他虚机列 表,并逐个向其依赖的其他虚拟主机发送IP变化消息。其中,该IP变化 消息包括所述当前虚拟主机的标识及其变化后的IP,其格式可以形如<虚 拟主机标识,当前IP>。

步骤105:所述其他虚拟主机依据所述IP变化消息判断所述当前虚拟 主机是否是其依赖的虚拟主机,如果是,则进入步骤106,如果否,则进 入步骤107。

当前虚机所依赖的其他虚拟主机接收到IP变化消息时,先根据自己本 地保存的域名依赖管理器中的虚拟主机的标识及IP变化消息中的虚机标 识,就可以判断该当前虚拟主机是否是其依赖的虚拟主机,如果是的话, 表示上述其他虚拟主机后续会访问该当前虚拟主机,而不是的话,则意味 着其他虚拟主机后续暂时不会访问该当前虚拟主机,因此,其他虚拟主机 不需要关心当前虚拟主机的IP及其变化信息。

步骤106:所述其他虚拟主机依据所述变化后的IP更新本地的域名解 析规则。

该其他虚拟主机根据当前虚拟主机的变化后的IP,更新本地域名解析 规则文件,这样可以保证在各个虚拟主机启动后都能获取最新的域名解析 规则,因为其它虚机可能在该虚机启动前改变了IP。

步骤107:所述其他虚拟主机拒绝所述IP变化消息。

而在其他虚拟主机不需要关心当前虚拟主机的IP及其变化信息的情 况下,其他虚拟主机可以直接拒绝该IP变化消息,不做任何处理。

本实施例中,以虚机为中心进行虚机所依赖的虚机域名的自动更新, 因此,虚机域名的更改频率和范围都将限制在某个虚机所依赖的虚机范围 内,这意味着与现有技术中依赖于全局域名服务器的方式相比,本发明实 施例具有良好的扩展性,适用于任何规模的云计算环境。并且,本发明实 施例应用于需要解析域名的虚机集合内,对于相互独立的应用而言,该发 明所引入的软件模块之间也是相互独立的,因此该发明即便发生故障,也 只会影响某个局部的虚机及其应用,而不会给其他虚拟主机乃至全局带来 影响。最后本发明实施例可以应用于虚机内部,也可根据用户需要卸载和 安装,因此也不会带来额外的云计算环境的运维开销。

本发明实施例可以应用于一个相对独立的虚机集合,不同的虚机集合 之间互不影响,因此本发明实施例具有良好的扩展性,不管应用环境中用 户有多少,都不影响本发明实施例的应用,即整体系统规模增大不影响本 发明实施例的有效性,相比现有技术中的全局域名服务器的方案,全局域 名服务器在整体系统规模增大后,域名服务器的性能理论上会随着规则的 增大而降低。

综上,本发明实施例能实现在没有全局的域名服务器的情况下,自动 更新某一个虚拟主机所依赖的虚拟主机的域名解析规则,从而免除用户的 手动维护操作,提高了更新的效率,减小了云计算环境的运维开销。

实施例二

参照图2所示,图2为本发明实施例公开的云计算环境中域名解析规 则的更新方法实施例2的流程图,本实施例主要结合实际中的软件模块来 详细介绍实现过程,本实施例的流程可以包括:

步骤201:通过当前虚拟主机的“自管理系统”进行初始化,包括生 成一个全局唯一的虚拟主机标识,并将该虚拟主机的标识与其IP的映射关 系保存至虚拟主机注册表中。

其中,“自管理系统”是一个功能模块,在虚拟主机运行后,“自管 理系统”可以检测自身所在的当前虚拟主机是否是第一次运行,例如可以 通过判断本地是否存在某个与自管理系统相关的标志文件来实现。如果是 第一次运行,则“自管理系统”将生成一个新的自管理系统ID(即是虚拟 主机的标识),并与当前虚拟主机的当前IP一起写入“虚拟主机注册表” 中。随后,“自管理系统”启动“域名依赖管理器”、“IP变化监控器” 和“IP变化接收器”。

步骤202:IP变化监控器检测当前虚拟主机的当前IP是否产生变化。

“IP变化监控器”在启动后,开始检测自身IP是否与此前记录在虚 拟主机注册表中的IP相同,如果不相同,说明产生了变化,如果相同,则 说明当前虚拟主机的当前IP没有产生变化。

步骤203:在所述当前虚拟主机的当前IP产生变化的情况下,IP变化 监控器更新虚拟主机注册表中所述当前虚拟主机的当前IP。

一旦IP变化监控器发现当前虚拟主机的当前IP发生变化,则更新虚 拟主机注册表中所保存的当前虚拟主机的IP。

步骤204:IP变化监控器从本地域名解析规则文件中获取所述当前虚 拟主机所依赖的其他虚拟主机的当前IP。

IP变化监控器再从当前虚拟主机的本地的域名解析规则文件中获得当 前虚机所依赖的所有虚机列表,以便后续逐个向其所依赖的虚拟主机发送 IP变化消息。

步骤205:所述IP变化监控器依据所述其他虚拟主机的当前IP向所 述其他虚拟主机发送IP变化消息,所述IP变化消息包括所述当前虚拟主 机的标识及其变化后的IP。

步骤206:所述其他虚拟主机依据所述IP变化消息判断所述当前虚拟 主机是否是其依赖的虚拟主机,如果是,则进入步骤207,如果否,则进 入步骤208。

所述其他虚拟主机上的“IP变化接收器”在运行时接收到来自当前虚 拟主机的IP变化消息后,首先根据本地的域名依赖管理器中保存的虚机ID 和IP变化消息中的虚机ID,可以判断当前虚拟主机是否是自己所依赖的 虚机。

步骤207:所述其他虚拟主机依据所述变化后的IP更新本地的域名解 析规则。

步骤208:所述其他虚拟主机拒绝所述IP变化消息。

在本实施例中,在步骤208之后,还可以包括:

步骤209:所述当前虚拟主机从所述虚拟主机注册表中获取所述其他 虚拟主机的更新后的IP,并依据所述更新后的IP再次发送IP变化消息。

如果该消息被当前虚拟主机所依赖的其他虚拟主机拒绝,则当前虚拟 主机的IP变化监控器从虚拟主机注册表中获取拒绝它的其他虚机的最新 IP,并按照该最新IP重新尝试发送IP变化消息。因为该IP变化消息被拒 绝意味着原来当前虚拟主机所依赖的其他虚拟主机的IP可能发生了变化, 或者该其他虚拟主机已经不再是当前虚拟主机所依赖的虚机了。

步骤210:在所述在IP变化消息再次被所述其他虚拟主机拒绝的情况 下,所述当前虚拟主机从本地的域名解析规则文件中删除对应的域名解析 规则。

一旦当前虚拟主机发送的IP变化消息再次被拒绝,则意味着原来所依 赖的其他虚机已经删除了对当前虚机的域名依赖,因此可以停止向该其他 虚机发送IP变化消息,并且进一步的可以从本地的域名解析规则文件中删 除目的虚机的自管理系统ID。

在本实施例中,因为在虚拟主机的IP变化时,首先更新虚拟主机注册 表,所以可以从注册表中获取到最新的虚拟主机的IP,并且当再次向当前 虚拟主机依赖的其他虚拟主机发送IP变化消息时才停止发送并且删除对 应的域名解析规则,这样就使得本发明实施例中的更新方法更为准确。

实施例三

需要说明的是,通过“域名依赖管理器”可以进行本地域名解析规则 的管理,主要包括但不限于:增加对其它虚机的域名解析规则,该域名解 析规则可以形如:<其它虚机的当前IP,用于本地的域名>,或者删除对其 它虚机的域名解析规则等。参考图3所示,在更新域名的过程进行中,还 可以包括如下所示的增加域名解析规则的流程:

步骤301:在接收到用户的域名解析规则增加指令后,在所述当前虚 拟主机的本地域名解析规则文件中对应增加域名解析规则。

在当前虚机运行过程中,用户可以随时使用其中的“域名依赖管理器” 来增加对其它虚机的域名解析。域名的注册方式可以是通过可视化界面进 行,也可以通过不同形式的命令行/API(应用编程接口)进行。

以基于REST风格的API为例,增加虚机域名解析的API形式如下:

POST http://localhost:9999/domain.name.for.vm?ip=192.168.1.2

其中9999是用于域名同步系统的端口(可根据需要进行配置), “domain.name.for.vm”是该虚机期望使用的其所依赖的虚机的内部域名, “192.168.1.2”是其所依赖的虚机的当前IP,“POST”方式表明是要创建 一个新的域名。

该模块管理的域名解析规则的载体为虚机本地的域名解析规则文件。 例如在Linux上该文件一般为/etc/hosts,在Windows上该文件一般为 C:\WINDOWS\system32\drivers\etc\hosts.

步骤302:所述当前虚拟主机向增加的域名解析规则中所依赖的其他 虚拟主机发送域名依赖请求,以请求对所述其他虚拟主机的依赖。

当用户通过“域名依赖管理器”增加域名解析规则时,域名依赖管理 器还会向对应的虚机中的“自管理系统”发送域名依赖请求;在这些请求 中将同时携带请求方的自管理系统ID。当该模块收到域名依赖请求或者解 除域名依赖请求后,将在本地记录或者删除对应的自管理系统ID及其在 本地所使用的域名。

“域名依赖管理器”在当前虚拟主机内部将更新本地域名解析规则文 件,并且向当前虚拟主机所依赖的虚机的“域名依赖管理器”发送“域名 依赖请求”。如果该域名依赖请求得到正常的响应,则“域名依赖管理器” 将从响应中得到所依赖的虚机的标识;否则就说明所依赖的虚机并未安装 本发明实施例的自管理系统,或者用户输入了错误的IP。在这种情况下, “域名依赖管理器”还可以可选的提醒用户进行确认。

同时,对应上述增加域名解析规则的流程,参考图4所示,在更新域 名的过程进行中,还可以包括如下所示的删除域名解析规则的流程:

步骤401:在接收到用户的域名解析规则删除指令后,在所述当前虚 拟主机的本地域名解析规则文件中对应删除域名解析规则。

类似的,用户可以使用“域名依赖管理器”删除本地域名解析规则。

步骤402:所述当前虚拟主机向删除的域名解析规则中所依赖的其他 虚拟主机发送解除域名依赖请求。

类似的,当用户删除域名解析规则时,在本地的域名解析规则文件更 新后,“域名依赖管理器”向对应的所依赖的虚机的“域名依赖管理器” 发送解除域名依赖请求。一旦得到正常响应,则当前虚机的虚拟主机标识 将通过其所依赖的虚机的“域名依赖管理器”删除。

步骤403:所述其他虚拟主机删除本地对应的域名解析规则。

如果当前虚拟主机所依赖的其他虚机暂时无法连接(例如已经停机), 则该当前虚机仍然通过本地的“域名依赖管理器”删除所依赖的其他虚机 的虚拟主机标识,后续一旦所依赖的其他虚机启动,并仍然向当前虚机发 送IP变化消息,则当前虚机的IP变化接收器会进行相应处理。

参考图5所示,为本实施例应用于实际中的系统架构图。

在本实施例中,可以通过域名依赖管理器对各个虚拟主机的本地的域 名规则解析规则文件进行管理,可以对其中的域名解析规则进行删除或者 增加等,从而实现对域名解析规则的更新。

上述本发明公开的实施例中详细描述了方法,对于本发明的方法可采 用多种形式的装置实现,因此本发明还公开了一种装置,下面给出具体的 实施例进行详细说明。

实施例四

参见图6所示,图6为本发明实施例公开的云计算环境中域名解析规 则的更新装置实施例1的结构示意图,所述装置可以包括:

检测模块601,用于检测当前虚拟主机的当前IP是否产生变化;

其中,在实际应用中,所述检测模块601,具体可以包括:

第一获取子模块,用于在所述当前虚拟主机使用静态IP的情况下,直 接获取所述当前虚拟主机的IP,并判断是否与预先保存的IP一致;

第二获取子模块,用于在所述当前虚拟主机使用动态IP的情况下,周 期性的获取所述当前虚拟主机的IP,并判断当前获取的IP与最近一次保 存的IP是否一致。

更新模块602,用于在所述当前虚拟主机的当前IP产生变化的情况下, 更新虚拟主机注册表中所述当前虚拟主机的当前IP;所述虚拟主机注册表 用于存储各虚拟主机的标识及当前IP的映射关系;

获取模块603,用于从本地域名解析规则文件中获取所述当前虚拟主 机所依赖的其他虚拟主机的当前IP地址;所述本地域名解析规则文件用于 存储所述当前虚拟主机对所述其他虚拟主机的域名解析规则,所述域名解 析规则包括所述其他虚拟主机的域名和当前IP的映射关系;

发送模块604,用于依据所述其他虚拟主机的当前IP向所述其他虚拟 主机发送IP变化消息,所述IP变化消息包括所述当前虚拟主机的标识及 其变化后的IP,以触发所述其他虚拟主机依据所述IP变化消息判断所述 当前虚拟主机是否是其依赖的虚拟主机;如果是,则所述其他虚拟主机依 据所述变化后的IP更新本地的域名解析规则,如果否,则所述其他虚拟主 机拒绝所述IP变化消息。

本实施例中,云计算环境中域名解析规则的更新装置以虚机为中心进 行虚机所依赖的虚机域名的自动更新,因此,虚机域名的更改频率和范围 都将限制在某个虚机所依赖的虚机范围内,这意味着与现有技术中依赖于 全局域名服务器的方式相比,本发明实施例具有良好的扩展性,适用于任 何规模的云计算环境。并且,本发明实施例应用于需要解析域名的虚机集 合内,对于相互独立的应用而言,该发明所引入的软件模块之间也是相互 独立的,因此该发明即便发生故障,也只会影响某个局部的虚机及其应用, 而不会给其他虚拟主机乃至全局带来影响。最后本发明实施例可以应用于 虚机内部,也可根据用户需要卸载和安装,因此也不会带来额外的云计算 环境的运维开销。

实施例五

参考图7所示,图7为本发明实施例公开的云计算环境中域名解析规 则的更新装置实施例2的结构示意图,在使用时除了实施例四中所述的四 个模块,还可以包括:

第二获取模块701,用于所述当前虚拟主机从所述虚拟主机注册表中 获取所述其他虚拟主机的更新后的IP;

则所述发送模块604,还用于依据所述更新后的IP再次发送IP变化消 息;

删除模块702,用于在所述在IP变化消息再次被所述其他虚拟主机拒 绝的情况下,所述当前虚拟主机从本地的域名解析规则文件中删除对应的 域名解析规则。

实施例六

参考图8所示,图8本发明实施例公开的云计算环境中域名解析规则 的更新装置实施例3的结构示意图,在不同的实施例中,所述装置除了实 施例四中包括的四个模块之外,还可以包括:

增加模块801,用于在接收到用户的域名解析规则增加指令后,在所 述当前虚拟主机的本地域名解析规则文件中对应增加域名解析规则;

删除模块802,用于在接收到用户的域名解析规则删除指令后,在所 述当前虚拟主机的本地域名解析规则文件中对应删除域名解析规则。

所述发送模块604,还用于所述当前虚拟主机向增加或者删除的域名 解析规则中所依赖的其他虚拟主机发送域名依赖请求或者解除域名依赖请 求,以便于所述其他虚拟主机增加或者删除本地对应的域名解析规则。

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

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬 件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于 随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电 可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域 内所公知的任意其它形式的存储介质中。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使 用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显 而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的 情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的 这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的 范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号