CN103685590B - 获取ip地址的方法及系统 - Google Patents

获取ip地址的方法及系统 Download PDF

Info

Publication number
CN103685590B
CN103685590B CN201210343244.0A CN201210343244A CN103685590B CN 103685590 B CN103685590 B CN 103685590B CN 201210343244 A CN201210343244 A CN 201210343244A CN 103685590 B CN103685590 B CN 103685590B
Authority
CN
China
Prior art keywords
dns
records
privately owned
address
name
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
Application number
CN201210343244.0A
Other languages
English (en)
Other versions
CN103685590A (zh
Inventor
倪生华
李志勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201210343244.0A priority Critical patent/CN103685590B/zh
Publication of CN103685590A publication Critical patent/CN103685590A/zh
Application granted granted Critical
Publication of CN103685590B publication Critical patent/CN103685590B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本申请公开了一种获取IP地址的方法及系统。其中,该方法包括:接收由主机客户端发送的地址解析请求,地址解析请求包括:域名和主机客户端的机器名;根据地址解析请求中的机器名从高速缓存服务器中进行查询,以获取主机客户端的机器名所对应的DNS分组和/或私有DNS记录;根据地址解析请求中的域名从获取到的DNS分组和/或私有DNS记录中进行查询,以获取域名所对应的IP地址;将获取到的IP地址返回给主机客户端,以通过获取到的IP地址访问测试服务器。通过本申请,能够实现提高系统解析主机客户端发出的解析请求时的解析效率。

Description

获取IP地址的方法及系统
技术领域
本申请涉及互联网领域,具体而言,涉及一种获取IP地址的方法及系统。
背景技术
在大型互联网公司中,各种互联网的web应用非常繁多,例如在进行测试的环境中,在把所有应用都分别部署在不同的测试服务器上之后,客户端要通过不同的测试服务器完成对不同应用功能进行测试,此时系统需要提供一个用于解析域名与测试服务器的IP地址之间的绑定信息的DNS系统。
当大型互联网公司中存在对web应用的测试会有大量的域名与IP地址的解析需求,现有技术通常采用客户端在本机上维护hosts文件来完成,可以将需要用到的IP地址和对应的域名按正确的格式输入并保存,当需要更新IP地址和对应的域名时,可以通过更新hosts文件来完成。但在互联网公司的测试环境中,由于各种web应用众多,测试服务器IP和域名的绑定信息变更频繁,上述绑定信息发生变更时必须在某个公共地方公开展示,以使得每个测试人员根据变更信息来更新本地hosts文件,这种方式维护成本很高。
为了解决上述客户端需要在维护本地hosts文件的成本的问题,现有技术可以采用DNS代理服务的方式来维护IP地址与域名之间的绑定信息,即在DNS代理服务器本地维护一份hosts文件,对IP地址和对应的域名之间的绑定信息进行集中管理,在需要更新绑定信息时,直接更新DNS代理服务器上的hosts文件即可。对于测试web应用而言,测试的当前应用仅仅只需要绑定几个相关的域名,但是DNS代理服务其中的hosts文件是全部绑定,因此客户端在发出获取IP地址的请求时,需要在DNS代理服务器中进行全表查询,导致获取到正确的IP地址的效率极低;而且当需要更新DNS代理服务器上的hosts文件时,必须由专人来维护,导致了客户端获取IP地址的实时性较差;同时,这种维护绑定信息的方式不能提供IP与域名绑定的定制化,更不能实现向用户推荐绑定的可能。
目前针对相关技术由于在DNS代理服务器上维护对IP地址和对应的域名之间的绑定信息进行集中管理的hosts文件,存在解析效率低的问题,目前尚未提出有效的解决方案。
发明内容
针对相关技术的由于在DNS代理服务器上维护对IP地址和对应的域名之间的绑定信息进行集中管理的hosts文件,存在解析效率低的问题,目前尚未提出有效的解决方案,为此,本申请的主要目的在于提供一种获取IP地址的方法及系统,以解决上述问题。
为了实现上述目的,根据本申请的一个方面,提供了一种获取IP地址的方法,该方法包括:接收由主机客户端发送的地址解析请求,地址解析请求包括:域名和主机客户端的机器名;根据地址解析请求中的机器名从高速缓存服务器中进行查询,以获取主机客户端的机器名所对应的DNS分组和/或私有DNS记录;根据地址解析请求中的域名从获取到的DNS分组和/或私有DNS记录中进行查询,以获取域名所对应的IP地址;将获取到的IP地址返回给主机客户端,以通过获取到的IP地址访问测试服务器;其中,高速缓存服务器包括:私有DNS记录、DNS分组记录以及机器名与私有DNS记录或DNS分组记录的绑定信息,DNS分组记录包括一条或多条DNS记录,每条DNS记录存储域名和IP地址之间的对应关系。
进一步地,根据地址解析请求中的域名从获取到的DNS分组和/或私有DNS记录中进行查询,以获取域名所对应的IP地址的步骤包括:判断获取到的DNS分组和/或私有DNS记录中存储的域名是否与地址解析请求中的域名相同;其中,在相同的情况下,获取到地址解析请求中的域名在DNS分组和/或私有DNS记录中所对应的IP地址;在不相同的情况下,将地址解析请求转发至DNS服务器,从DNS服务器上查询得到地址解析请求所对应的IP地址。
进一步地,在根据地址解析请求中的机器名从高速缓存服务器中进行查询之前,方法还包括:主机客户端通过浏览器向Web应用服务器发出访问请求;在根据访问请求获取到主机客户端的机器名和所有的私有DNS记录、DNS分组记录之后,通过Web应用服务器来设置主机客户端的机器名与任意一个私有DNS记录或DNS分组记录之间的绑定关系;将机器名与任意一个私有DNS记录或DNS分组记录之间的绑定关系保存至高速缓存服务器。
进一步地,在主机客户端通过浏览器访问Web应用服务器之前,方法还包括:在Web应用服务器上创建私有DNS记录和DNS分组记录;设置私有DNS记录和DNS分组记录的优先级;其中,私有DNS记录包括本地DNS信息记录,DNS分组记录包括公共DNS记录、推荐DNS记录以及生效DNS分组。
进一步地,在将机器名与任意一个私有DNS记录或DNS分组记录之间的绑定信息保存至高速缓存服务器之后,方法还包括:新的主机客户端发出访问请求至Web应用服务器;通过远程接口从客户端信息库中查询是否存在与新的主机客户端的主机名具有属性关联的主机名;其中,在客户端信息库中存在与新的主机客户端的主机名具有属性关联的主机名的情况下,判断该具有属性关联的主机名是否存在与私有DNS记录或DNS分组记录之间的绑定关系,在存在的情况下,默认推送该私有DNS记录或DNS分组记录给新的主机客户端,用于创建新的主机客户端的主机名与该私有DNS记录或DNS分组记录之间的绑定关系。
进一步地,在推送该私有DNS记录或DNS分组记录给新的主机客户端之前,方法还包括:在客户端信息库中存在与新的主机客户端的主机名具有属性关联的主机名,且该具有属性关联的主机名既与私有DNS记录具有绑定关系,也与DNS分组记录具有绑定关系,则按照私有DNS记录和DNS分组记录的优先级来推送该私有DNS记录或DNS分组记录给新的主机客户端。
为了实现上述目的,根据本申请的另一方面,提供了一种获取IP地址的系统,该系统包括:主机客户端,用于发送地址解析请求,地址解析请求包括:域名和主机客户端的机器名;DNS代理服务器,与主机客户端建立通信,用于接收由主机客户端发送的地址解析请求,在根据地址解析请求中的机器名从高速缓存服务器进行查询,以获取主机客户地的机器名所对应的DNS分组和/或私有DNS记录之后,根据地址解析请求中的域名从获取到的DNS分组和/或私有DNS记录中进行查询,以获取域名所对应的IP地址,并将获取到的IP地址返回给主机客户端,以通过获取到的IP地址访问测试服务器;其中,高速缓存服务器包括:私有DNS记录、DNS分组记录以及机器名与私有DNS记录或DNS分组记录的绑定信息,DNS分组记录包括一条或多条DNS记录,每条DNS记录存储域名和IP地址之间的对应关系。
进一步地,系统还包括:Web应用服务器,与主机客户端建立通信,用于接收主机客户端的访问请求,在根据访问请求获取到主机客户端的机器名和所有的私有DNS记录、DNS分组记录之后,设置主机客户端的机器名与任意一个私有DNS记录或DNS分组记录之间的绑定关系,并将机器名与任意一个私有DNS记录或DNS分组记录之间的绑定关系保存至高速缓存服务器。
进一步地,Web应用服务器包括:接收单元,用于接收新的主机客户端的访问请求;调用单元,与接收单元连接,用于根据访问请求来通过远程接口从客户端信息库中查询,以得到与新的主机客户端的主机名具有属性关联的主机名;处理单元,与调用单元连接,用于判断该具有属性关联的主机名是否存在与私有DNS记录或DNS分组记录之间的绑定关系,在存在的情况下,默认推送该私有DNS记录或DNS分组记录给新的主机客户端,用于创建新的主机客户端的主机名与该私有DNS记录或DNS分组记录之间的绑定关系。
进一步地,系统还包括:DNS服务器,与DNS代理服务器建立通信,用于在DNS代理服务器判断获取到的DNS分组和/或私有DNS记录中存储的域名与地址解析请求中的域名不相同的情况下,接收由DNS代理服务器转发来的地址解析请求,并查询得到地址解析请求所对应的IP地址。
通过本申请,采用接收由主机客户端发送的地址解析请求,地址解析请求包括:域名和主机客户端的机器名;根据地址解析请求中的机器名从高速缓存服务器中进行查询,以获取主机客户端的机器名所对应的DNS分组和/或私有DNS记录;根据地址解析请求中的域名从获取到的DNS分组和/或私有DNS记录中进行查询,以获取域名所对应的IP地址;将获取到的IP地址返回给主机客户端,以通过获取到的IP地址访问测试服务器;其中,高速缓存服务器包括:私有DNS记录、DNS分组记录以及机器名与私有DNS记录或DNS分组记录的绑定信息,DNS分组记录包括一条或多条DNS记录,每条DNS记录存储域名和IP地址之间的对应关系,在主机客户端用户发出地址解析请求之后,与主机客户端通信的DNS代理服务器获取到该地址解析请求,并根据该地址解析请求中携带的机器名在高速缓存服务器中查询得到主机客户端的机器名所对应的DNS分组和/或私有DNS记录,在确定了该地址解析请求所对应的DNS分组和/或私有DNS记录之后,由于每条DNS记录存储域名和IP地址之间的对应关系,因此,通过地址解析请求中的域名就可以直接定位到DNS记录中的IP地址,并将该IP地址返回给主机客户端。由于本申请的DNS代理服务器采用了按照需求对DNS记录进行分组维护,即对IP地址与域名的绑定信息进行分组管理,从而极大的提升了绑定信息设置的灵活性,并使得DNS代理服务器在解析该地址解析请求时缩小了解析范围,为提升解析效率提供了保证。由此上述实施例解决了相关现有技术的由于在DNS代理服务器上维护对IP地址和对应的域名之间的绑定信息进行集中管理的hosts文件,存在解析效率低的问题,进而实现了提高系统解析主机客户端发出的解析请求时的解析效率的效果。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的获取IP地址的系统的结构示意图;
图2是根据图1所示的获取IP地址的系统的详细结构示意图;
图3是根据本申请实施例的获取IP地址的方法的流程图;
图4是根据图1至图3所示的DNS绑定信息的结构示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1是根据本申请实施例的获取IP地址的系统的结构示意图;图2是根据图1所示的获取IP地址的系统的详细结构示意图。
如图1所示,该获取IP地址的系统包括:主机客户端10和DNS代理服务器30。
其中,主机客户端10用于发送地址解析请求给DNS代理服务器,该地址解析请求包括:域名和主机客户端的机器名;DNS代理服务器30与主机客户端10建立通信,用于接收由主机客户端发送的地址解析请求,在根据地址解析请求中的机器名从高速缓存服务器进行查询,以获取主机客户地的机器名所对应的DNS分组和/或私有DNS记录之后,根据地址解析请求中的域名从获取到的DNS分组和/或私有DNS记录中进行查询,以获取域名所对应的IP地址,并将获取到的IP地址返回给主机客户端,以通过获取到的IP地址访问测试服务器;其中,高速缓存服务器包括:私有DNS记录、DNS分组记录以及机器名与私有DNS记录或DNS分组记录的绑定信息,DNS分组记录包括一条或多条DNS记录,每条DNS记录存储域名和IP地址之间的对应关系。
优选地,本申请上述实施例的私有DNS记录、DNS分组记录以及机器名与私有DNS记录或DNS分组记录的绑定信息也可以直接存储到数据库中进行备份,数据库与高速缓存服务器具有同步关系。
本申请上述实施例中,在主机客户端用户发出地址解析请求之后,与主机客户端通信的DNS代理服务器获取到该地址解析请求,并根据该地址解析请求中携带的机器名在高速缓存服务器中查询得到主机客户端的机器名所对应的DNS分组和/或私有DNS记录,在确定了该地址解析请求所对应的DNS分组和/或私有DNS记录之后,由于每条DNS记录存储域名和IP地址之间的对应关系,因此,通过地址解析请求中的域名就可以直接定位到DNS记录中的IP地址,并将该IP地址返回给主机客户端。由于本申请的DNS代理服务器采用了按照需求对DNS记录进行分组维护,即对IP地址与域名的绑定信息进行分组管理,从而极大的提升了绑定信息设置的灵活性,并使得DNS代理服务器在解析该地址解析请求时缩小了解析范围,为提升解析效率提供了保证。由此可知,本申请上述实施例解决了相关现有技术的由于在DNS代理服务器上维护对IP地址和对应的域名之间的绑定信息进行集中管理的hosts文件,存在解析效率低、灵活性差的问题,进而实现了提高系统解析主机客户端发出的解析请求时的解析效率,并提升了解析结果的灵活性的效果。
如图2所示,本申请上述实施例中,该系统还可以包括:Web应用服务器,与主机客户端建立通信,用于接收主机客户端的访问请求,在根据访问请求获取到主机客户端的机器名和所有的私有DNS记录、DNS分组记录之后,设置主机客户端的机器名与任意一个私有DNS记录或DNS分组记录之间的绑定关系,并将机器名与任意一个私有DNS记录或DNS分组记录之间的绑定关系保存至高速缓存服务器。优选地,主机客户端在访问Web应用服务器之前,Web应用服务器创建私有DNS记录和DNS分组记录,并设置私有DNS记录和DNS分组记录的优先级;其中,私有DNS记录包括本地DNS信息记录,DNS分组记录包括公共DNS记录、推荐DNS记录以及生效DNS分组。该实施例实现了主机客户端通过浏览器brower连接到Web应用服务器上,启动维护一份域名绑定信息,实现了在主机客户端的用户登录之后,系统可以根据用户特征推送合适的DNS分组或私有DNS记录,主机客户端用户访问Web应用服务器之后,只需选中确定生效的DNS分组或私有DNS记录或取消上述分组的绑定记录,就可以即时生效当前主机客户端与上述DNS分组或私有DNS记录之间的关联关系,最后将绑定信息保存入高速缓存服务器。
具体的,上述实施例中的Web应用服务器提供了部署DNS记录的系统,主机客户端的使用用户可以利用人机交互界面,在Web应用服务器上设置当前主机客户端的机器名与预先创建的任意一个私有DNS记录或DNS分组记录的绑定关系,得到绑定信息,并将绑定信息集中保存到数据库DB和/高速缓存服务器中,从而使得DNS代理服务器的解析数据就来源于高速缓存服务器,使得解析速度提高。
本申请中的Web应用服务器上可以创建私有DNS记录和DNS分组记录,并设置私有DNS记录和DNS分组记录的优先级;其中,私有DNS记录包括本地DNS信息记录,DNS分组记录包括公共DNS记录、推荐DNS记录以及生效DNS分组。
由此可知,本申请上述实施例的Web应用服务器的核心是采用了DNS记录信息的分组管理,例如,可以将公用的域名与IP地址之间的绑定信息存储为公共DNS记录;可以根据应用特点定制特别绑定信息,即在自定义的分组中加入特殊应用的域名与IP地址的绑定信息。上述分组管理的功能极大的提升了绑定信息设置的灵活性,同时为代理DNS解析时缩小解析范围,提升解析效率提供了保证。
优选地,本申请上述实施例中的Web应用服务器可以包括:接收单元,用于接收新的主机客户端的访问请求;调用单元,与接收单元连接,用于根据访问请求来通过远程接口从客户端信息库中查询,以得到与新的主机客户端的主机名具有属性关联的主机名;处理单元,与调用单元连接,用于判断该具有属性关联的主机名是否存在与私有DNS记录或DNS分组记录之间的绑定关系,在存在的情况下,默认推送该私有DNS记录或DNS分组记录给新的主机客户端,用于创建新的主机客户端的主机名与该私有DNS记录或DNS分组记录之间的绑定关系。由于本申请提供了DNS记录分组的概念,因此,可以实现上述根据用户特征推荐私有DNS记录或DNS分组记录的功能,即如果两次访问的主机客户端的机器名具有属性关联(例如,两个主机客户端属于同一个项目组或者同一个工作部门),而且其中一个主机客户端已经查找到了机器名对应的分组,系统则默认推送该分组给与其具有属性关联的主机客户端,使得以往用户查找绑定信息的方式转换为系统为用户推荐绑定信息的模式,用户非常方便,用户体验大大提升。
如图2所示,本申请上述实施例中,该系统还可以包括:DNS服务器,与DNS代理服务器建立通信,用于在DNS代理服务器判断获取到的DNS分组和/或私有DNS记录中存储的域名与地址解析请求中的域名不相同的情况下,接收由DNS代理服务器转发来的地址解析请求,并查询得到地址解析请求所对应的IP地址。
具体的,在主机客户端发出地址解析请求来访问DNS代理服务器时,首先会通过DNS代理服务器查询高速缓存服务器,来获取得到该地址解析请求所对应的IP地址,然后将得到的IP地址返回给主机客户端,但如果无法获取到对应的IP地址,此时,系统可以选择直接将该地址解析请求转发给DNS服务器(即内部域名服务器),从而返回解析得到的IP地址,或者DNS代理服务器在无法从高速缓存服务器中获得对应的IP地址时,可以先从本地维护的域名绑定信息中进行解析,如果还没有解析得到对应的IP地址,则再选择直接将该地址解析请求转发给DNS服务器(即内部域名服务器),从而返回解析得到的IP地址。最后,主机客户端在获取到返回的IP地址之后,会根据该IP地址访问对应的测试服务器,并转发测试请求到测试服务器上,该测试服务器将响应内容返回给主机客户端。
图3是根据本申请实施例的获取IP地址的方法的流程图,如图3所示该方法包括如下步骤:
步骤S102,DNS代理服务器接收由图1所示的主机客户端发送的地址解析请求,地址解析请求包括:域名和主机客户端的机器名。
具体的,本申请上述步骤实现了主机客户端在接收到用户输入的域名domainxxx之后,加上本机客户端的机器名ID而生成地址解析请求,即该地址解析请求携带有域名和机器名(ID:domainxxx),主机客户端会将该地址解析请求发送到预设的DNS代理服务器。
步骤S104,图1中的DNS代理服务器实现了根据地址解析请求中的机器名从高速缓存服务器中进行查询,以获取主机客户端的机器名所对应的DNS分组和/或私有DNS记录。
具体的,上述步骤中DNS代理服务器根据地址解析请求中携带的机器名ID从高速缓存服务器中进行查询得到对应的DNS分组Group1。
步骤S106,该DNS代理服务器可以根据地址解析请求中的域名从获取到的DNS分组和/或私有DNS记录中进行查询,以获取域名所对应的IP地址。
具体的,上述步骤实现了在获取到地址解析请求所对应的DNS分组之后,可以基于域名domainxxx在Group1中查到对应的IP地址(IPxxx)。
步骤S108,图1中的DNS代理服务器将获取到的IP地址返回给主机客户端,以通过获取到的IP地址访问测试服务器。其中,高速缓存服务器包括:私有DNS记录、DNS分组记录以及机器名与私有DNS记录或DNS分组记录的绑定信息,DNS分组记录包括一条或多条DNS记录,每条DNS记录存储域名和IP地址之间的对应关系。
本申请上述实施例中,在主机客户端用户发出地址解析请求之后,与主机客户端通信的DNS代理服务器获取到该地址解析请求,并根据该地址解析请求中携带的机器名在高速缓存服务器中查询得到主机客户端的机器名所对应的DNS分组和/或私有DNS记录,在确定了该地址解析请求所对应的DNS分组和/或私有DNS记录之后,由于每条DNS记录存储域名和IP地址之间的对应关系,因此,通过地址解析请求中的域名就可以直接定位到DNS记录中的IP地址,并将该IP地址返回给主机客户端。由于本申请的DNS代理服务器采用了按照需求对DNS记录进行分组维护,即对IP地址与域名的绑定信息进行分组管理,从而极大的提升了绑定信息设置的灵活性,并使得DNS代理服务器在解析该地址解析请求时缩小了解析范围,为提升解析效率提供了保证。由此可知,本申请上述实施例解决了相关现有技术的由于在DNS代理服务器上维护对IP地址和对应的域名之间的绑定信息进行集中管理的hosts文件,存在解析效率低、灵活性差的问题,进而实现了提高系统解析主机客户端发出的解析请求时的解析效率,并提升了解析结果的灵活性的效果。
优选地,在步骤S102之前,本申请将本机客户端上记录的DNS服务器IP地址修改为DNS代理服务器的IP地址,使得主机客户端发出地址解析请求时,主机客户端会依据设置的DNS代理服务器的IP地址将地址访问请求发送给该IP地址所对应的DNS代理服务器,DNS代理服务器就会接收地址解析请求,并进行解析而获取到主机客户端后续要访问的测试服务器的IP地址。
本申请上述实施例中,根据地址解析请求中的域名从获取到的DNS分组和/或私有DNS记录中进行查询,以获取域名所对应的IP地址的步骤S106可以包括:判断获取到的DNS分组和/或私有DNS记录中存储的域名是否与地址解析请求中的域名相同;其中,在相同的情况下,获取到地址解析请求中的域名在DNS分组和/或私有DNS记录中所对应的IP地址;在不相同的情况下,将地址解析请求转发至DNS服务器,从DNS服务器上查询得到地址解析请求所对应的IP地址。
具体的,在执行步骤S106之前,需要完成如下步骤:在本机客户端将记录的DNS服务器IP地址修改为DNS代理服务器的IP地址之后,如果主机客户端要实现通过域名访问到对应的测试服务器,则需要主机客户端先发出地址解析请求给DNS代理服务器,DNS代理服务器会根据地址解析请求从高速缓存服务器中获取到机器名或对应的DNS分组和/或私有DNS记录。
接着,本申请上述实施例中的步骤S106具体实施过程如下:
由于DNS分组中的DNS记录以及私有DNS记录中保存的是域名及其对应的IP地址的绑定关系,因此DNS代理服务器依据地址解析请求中的域名在上述步骤中已经获取到的DNS分组和/或私有DNS记录进行查询,是指查询包含有与地址解析请求中携带的域名相同的DNS记录,并获取该DNS记录中保存的IP地址。
在上述过程中,如果高速缓存服务器中可以查询得到IP地址,则会将该IP地址返回给主机客户端,主机客户端根据该IP地址访问对应的测试服务器,但一旦存在高速缓存服务器中没有查找成功,则可以利用DNS代理服务器本地维护的域名绑定信息中进行解析,将解析得到的解析结果IP地址返回到主机客户端。
由此可知,执行判断获取到的DNS分组和/或私有DNS记录中存储的域名是否与地址解析请求中的域名相同的步骤可以采用两种方式:一种DNS代理服务器从高速缓存服务器中进行判断,另一种是DNS代理服务器依据本地维护的绑定信息进行判断。在实施过程中优先选择从高速缓存服务器上进行查询判断,在查询失败的情况下,则选择DNS代理服务器在本地进行解析。
优选地,在上述解析方式都没有解析得到对应的IP地址的情况下,则选择直接将该地址解析请求转发给DNS服务器(即内部域名服务器),由DNS服务器完成解析任务,并将解析结果返回给DNS代理服务器,从而主机客户端得到解析后的IP地址。这种情况通常是指允许测试人员在主机客户端也可以访问外网或者使用网络服务完成测试功能。
本申请上述实施例中,在根据地址解析请求中的机器名从高速缓存服务器中进行查询之前,方法还包括:主机客户端通过浏览器向Web应用服务器发出访问请求;在根据访问请求获取到主机客户端的机器名和所有的私有DNS记录、DNS分组记录之后,通过Web应用服务器来设置主机客户端的机器名与任意一个私有DNS记录或DNS分组记录之间的绑定关系;将机器名与任意一个私有DNS记录或DNS分组记录之间的绑定关系保存至高速缓存服务器。
优选地,在主机客户端通过浏览器访问Web应用服务器之前,方法还可以包括:在Web应用服务器上创建私有DNS记录和DNS分组记录;设置私有DNS记录和DNS分组记录的优先级;其中,私有DNS记录包括本地DNS信息记录,DNS分组记录包括公共DNS记录、推荐DNS记录以及生效DNS分组。
具体的,上述实施例实现了如何在高速缓存服务器上实现机器名与DNS记录的绑定关系,主机客户端通过浏览器访问web应用服务器,通过web应用服务器来维护DNS绑定信息的记录。具体功能可以参见图4。实现过程如下:
首先,主机客户端通过浏览器访问WEB应用服务器,获取主机客户端本机的机器名ID1,并保存到DB和/或缓存服务器中。
然后,根据需求设置主机客户端的机器名与任意一个DNS分组(例如:Group1,Group2,……,GroupN)之间的绑定关系,而且DNS分组下可以增加绑定信息IP地址:域名(IPxxx:domainxxx),……。即主机客户端用户可以根据提供的人机交互界面选择当前主机客户端的机器名所要绑定的DNS分组记录和/或私有DNS记录,DNS分组记录中保存的是各个域名与IP地址之间的绑定信息。
在用户确认当前主机客户端索要帮定的DNS分组记录和/或私有DNS记录之后,则表征当前DNS分组记录和/或私有DNS记录Group1生效。
最后,WEB服务器将这些绑定信息记录或者更新记录存储到数据库DB和/或高速缓存服务器上,即DB和/或缓存中将存储Group:IPxxx:domainxxx信息。
具体的,WEB服务器所维护的DNS绑定信息的结构如图3所示,主机客户端可以利用WEB服务器系统来维护DNS绑定信息,也可以实现添加DNS分组信息和/或私有DNS记录。详细可以包括公共DNS分组记录、私有DNS记录以及DNS分组记录等。
其中,公共DNS分组记录是将相对固定不变且大部分客户端必须用到的DNS绑定信息进行维护,比如公共测试环境的应用绑定信息;DNS分组可以包括推荐DNS分组、自动化测试分组、预发布测试分组等,DNS分组可以根据测试功能的应用特征进行划分,并将每种应用的机器和域名绑定信息维护在该组下;私有DNS记录是将特殊应用的DNS记录的绑定信息进行记录,即可以根据需求建立私有的DNS绑定信息,比如临时搭建的测试环境的绑定信息。针对上述DNS记录,可以对这些绑定信息进行增、删、改、查,更新绑定等操作,完成上述操作之后,DNS代理服务器的解析结果是及时有效。
本申请上述实施例中,在将机器名与任意一个私有DNS记录或DNS分组记录之间的绑定信息保存至高速缓存服务器之后,方法还可以包括:新的主机客户端发出访问请求至Web应用服务器;通过远程接口从客户端信息库中查询是否存在与新的主机客户端的主机名具有属性关联的主机名;其中,在客户端信息库中存在与新的主机客户端的主机名具有属性关联的主机名的情况下,判断该具有属性关联的主机名是否存在与私有DNS记录或DNS分组记录之间的绑定关系,在存在的情况下,默认推送该私有DNS记录或DNS分组记录给新的主机客户端,用于创建新的主机客户端的主机名与该私有DNS记录或DNS分组记录之间的绑定关系。
具体的,结合图4所示的结构图,Web应用服务器可以维护上述绑定信息记录,在主机客户端访问Web应用服务器获取当前主机客户端与DNS分组记录的绑定信息之后,如果另外一个新的主机客户端也发出了对Web应用服务器的访问,如果新的主机客户端与上述当前主机客户端的机器名具有属性关联(例如,两个主机客户端属于同一个项目组或者同一个工作部门),则会将当前主机客户端以及绑定的DNS分组记录推送给新的主机客户端,使得以往用户查找绑定信息的方式转换为系统为用户推荐绑定信息的模式,用户非常方便,用户体验大大提升。例如,两个主机用户都属于同一个测试部门的用户,则系统默认推送相同的DNS分组记录或者私有DNS记录。
本申请上述实施例中,在推送该私有DNS记录或DNS分组记录给新的主机客户端之前,方法还可以包括:在客户端信息库中存在与新的主机客户端的主机名具有属性关联的主机名,且该具有属性关联的主机名既与私有DNS记录具有绑定关系,也与DNS分组记录具有绑定关系,则按照私有DNS记录和DNS分组记录的优先级来推送该私有DNS记录或DNS分组记录给新的主机客户端。上述实施例实现了如果Web应用服务器所维护的DNS记录在不同的分组里有重复的记录,系统则会根据之前设定的优先级推送给主机客户端,提高了获取IP地址的效率,同时提高了用户体验。
由上可知,本申请上述实施例中,当主机客户端获取到由DNS代理服务器返回的解析结果IP1:IPxxx之后,会根据该解析结果正确访问测试服务器。优选地,本申请上述实施例会定期对数据库DB和高速缓存服务器进行同步更新操作,以保证DNS绑定的一致性。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
从以上的描述中,可以看出,本申请实现了如下技术效果:本申请上述实施例解决了相关现有技术的由于在DNS代理服务器上维护对IP地址和对应的域名之间的绑定信息进行集中管理的hosts文件,存在解析效率低、灵活性差的问题,进而实现了提高系统解析主机客户端发出的解析请求时的解析效率,并提升了解析结果的灵活性的效果。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (10)

1.一种获取IP地址的方法,其特征在于,包括:
接收由主机客户端发送的地址解析请求,所述地址解析请求包括:域名和所述主机客户端的机器名;
根据所述地址解析请求中的机器名从高速缓存服务器中进行查询,以获取所述主机客户端的机器名所对应的DNS分组和/或私有DNS记录;
根据所述地址解析请求中的域名从获取到的DNS分组和/或私有DNS记录中进行查询,以获取所述域名所对应的IP地址,其中,根据所述地址解析请求中的域名从获取到的DNS分组和/或私有DNS记录中进行查询为查询包含有与地址解析请求中携带的域名相同的DNS记录,并获取该DNS记录中保存的IP地址;
将获取到的IP地址返回给所述主机客户端,以通过获取到的IP地址访问测试服务器;
其中,所述高速缓存服务器包括:私有DNS记录、DNS分组记录以及所述机器名与私有DNS记录或DNS分组记录的绑定信息,DNS分组记录包括一条或多条DNS记录,每条DNS记录存储域名和IP地址之间的对应关系。
2.根据权利要求1所述的方法,其特征在于,根据所述地址解析请求中的域名从获取到的DNS分组和/或私有DNS记录中进行查询,以获取所述域名所对应的IP地址的步骤包括:
判断获取到的DNS分组和/或私有DNS记录中存储的域名是否与所述地址解析请求中的域名相同;其中,
在相同的情况下,获取到所述地址解析请求中的域名在DNS分组和/或私有DNS记录中所对应的IP地址;
在不相同的情况下,将所述地址解析请求转发至DNS服务器,从所述DNS服务器上查询得到所述地址解析请求所对应的IP地址。
3.根据权利要求1所述的方法,其特征在于,在根据所述地址解析请求中的机器名从高速缓存服务器中进行查询之前,所述方法还包括:
所述主机客户端通过浏览器向Web应用服务器发出访问请求;
在根据所述访问请求获取到所述主机客户端的机器名和所有的私有DNS记录、DNS分组记录之后,通过所述Web应用服务器来设置所述主机客户端的机器名与任意一个私有DNS记录或DNS分组记录之间的绑定关系;
将所述机器名与任意一个私有DNS记录或DNS分组记录之间的绑定关系保存至所述高速缓存服务器。
4.根据权利要求3所述的方法,其特征在于,在所述主机客户端通过浏览器访问Web应用 服务器之前,所述方法还包括:
在所述Web应用服务器上创建所述私有DNS记录和DNS分组记录;
设置所述私有DNS记录和DNS分组记录的优先级;其中,
所述私有DNS记录包括本地DNS信息记录,所述DNS分组记录包括公共DNS记录、推荐DNS记录以及生效DNS分组。
5.根据权利要求3所述的方法,其特征在于,在将所述机器名与任意一个私有DNS记录或DNS分组记录之间的绑定信息保存至所述高速缓存服务器之后,所述方法还包括:
新的主机客户端发出访问请求至所述Web应用服务器;
通过远程接口从客户端信息库中查询是否存在与所述新的主机客户端的主机名具有属性关联的主机名;
其中,在所述客户端信息库中存在与所述新的主机客户端的主机名具有属性关联的主机名的情况下,判断该具有属性关联的主机名是否存在与私有DNS记录或DNS分组记录之间的绑定关系,在存在的情况下,默认推送该私有DNS记录或DNS分组记录给所述新的主机客户端,用于创建所述新的主机客户端的主机名与该私有DNS记录或DNS分组记录之间的绑定关系。
6.根据权利要求5所述的方法,其特征在于,在推送该私有DNS记录或DNS分组记录给所述新的主机客户端之前,所述方法还包括:在所述客户端信息库中存在与所述新的主机客户端的主机名具有属性关联的主机名,且该具有属性关联的主机名既与所述私有DNS记录具有绑定关系,也与所述DNS分组记录具有绑定关系,则按照所述私有DNS记录和DNS分组记录的优先级来推送该私有DNS记录或DNS分组记录给所述新的主机客户端。
7.一种获取IP地址的系统,其特征在于,包括:
主机客户端,用于发送地址解析请求,所述地址解析请求包括:域名和所述主机客户端的机器名;
DNS代理服务器,与所述主机客户端建立通信,用于接收由主机客户端发送的地址解析请求,在根据所述地址解析请求中的机器名从高速缓存服务器进行查询,以获取所述主机客户端的机器名所对应的DNS分组和/或私有DNS记录之后,根据所述地址解析请求中的域名从获取到的DNS分组和/或私有DNS记录中进行查询,以获取所述域名所对应的IP地址,并将获取到的IP地址返回给所述主机客户端,以通过获取到的IP地址访问测试服务器,其中,根据所述地址解析请求中的域名从获取到的DNS分组和/或私有DNS记录中进行查询为查询包含有与地址解析请求中携带的域名相同的DNS记录,并获取该DNS记录中保存的IP地址;
其中,所述高速缓存服务器包括:私有DNS记录、DNS分组记录以及所述机器名与私有DNS记录或DNS分组记录的绑定信息,DNS分组记录包括一条或多条DNS记录,每条DNS记录存储域名和IP地址之间的对应关系。
8.根据权利要求7所述的系统,其特征在于,所述系统还包括:
Web应用服务器,与所述主机客户端建立通信,用于接收所述主机客户端的访问请求,在根据所述访问请求获取到所述主机客户端的机器名和所有的私有DNS记录、DNS分组记录之后,设置所述主机客户端的机器名与任意一个私有DNS记录或DNS分组记录之间的绑定关系,并将所述机器名与任意一个私有DNS记录或DNS分组记录之间的绑定关系保存至所述高速缓存服务器。
9.根据权利要求8所述的系统,其特征在于,所述Web应用服务器包括:
接收单元,用于接收新的主机客户端的访问请求;
调用单元,与所述接收单元连接,用于根据所述访问请求来通过远程接口从客户端信息库中查询,以得到与所述新的主机客户端的主机名具有属性关联的主机名;
处理单元,与所述调用单元连接,用于判断该具有属性关联的主机名是否存在与私有DNS记录或DNS分组记录之间的绑定关系,在存在的情况下,默认推送该私有DNS记录或DNS分组记录给所述新的主机客户端,用于创建所述新的主机客户端的主机名与该私有DNS记录或DNS分组记录之间的绑定关系。
10.根据权利要求8所述的系统,其特征在于,所述系统还包括:
DNS服务器,与所述DNS代理服务器建立通信,用于在所述DNS代理服务器判断获取到的DNS分组和/或私有DNS记录中存储的域名与所述地址解析请求中的域名不相同的情况下,接收由所述DNS代理服务器转发来的所述地址解析请求,并查询得到所述地址解析请求所对应的IP地址。
CN201210343244.0A 2012-09-14 2012-09-14 获取ip地址的方法及系统 Active CN103685590B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210343244.0A CN103685590B (zh) 2012-09-14 2012-09-14 获取ip地址的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210343244.0A CN103685590B (zh) 2012-09-14 2012-09-14 获取ip地址的方法及系统

Publications (2)

Publication Number Publication Date
CN103685590A CN103685590A (zh) 2014-03-26
CN103685590B true CN103685590B (zh) 2017-06-23

Family

ID=50321861

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210343244.0A Active CN103685590B (zh) 2012-09-14 2012-09-14 获取ip地址的方法及系统

Country Status (1)

Country Link
CN (1) CN103685590B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105323324A (zh) * 2014-06-05 2016-02-10 北京邮电大学 一种用于ip航空电信网通信寻址的系统与方法
CN105763662A (zh) * 2014-12-17 2016-07-13 中国移动通信集团黑龙江有限公司 一种创建相似网络测试环境的方法、装置及dns服务器
CN104699612B (zh) * 2015-03-25 2019-05-31 北京嘀嘀无限科技发展有限公司 用于软件测试中的处理方法、设备和系统
CN105897942A (zh) * 2015-09-17 2016-08-24 乐视云计算有限公司 一种域名解析系统及域名解析方法
CN105516385B (zh) * 2015-12-02 2019-05-14 传线网络科技(上海)有限公司 域名解析方法、服务器和系统
CN106101300B (zh) * 2016-06-22 2020-08-18 东方有线网络有限公司 通过私有域名系统控制访问自建服务器的方法
CN106101112A (zh) * 2016-06-24 2016-11-09 深圳市先河系统技术有限公司 访问使用动态ip的私有设备的方法、系统及公网服务器
CN106506281B (zh) * 2016-11-24 2019-12-03 深圳市金溢科技股份有限公司 车辆收费通信测试方法、网络设备及系统
CN108574604B (zh) * 2017-03-07 2020-09-29 北京京东尚科信息技术有限公司 测试方法和装置
CN109756584B (zh) * 2017-11-07 2022-01-18 中国电信股份有限公司 域名解析方法、域名解析装置及计算机可读存储介质
CN111078557B (zh) * 2019-12-16 2023-06-13 广州品唯软件有限公司 测试目标的ip地址获取方法、装置及存储介质
CN111935123B (zh) * 2020-08-04 2023-04-28 广东科徕尼智能科技有限公司 一种检测dns欺骗攻击的方法、设备、存储介质
CN115225325A (zh) * 2022-06-17 2022-10-21 中国电信股份有限公司 一种查询方法、查询装置、电子设备及可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101631133A (zh) * 2008-07-15 2010-01-20 华为技术有限公司 一种域名解析系统、设备及方法
CN102546613A (zh) * 2011-12-28 2012-07-04 深圳市万兴软件有限公司 访问gae托管网站的方法及对应的控制装置和系统
CN102546854A (zh) * 2012-01-10 2012-07-04 上海西默通信技术有限公司 一种域名和服务器建立http连接的域名解析方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8140669B2 (en) * 2009-08-31 2012-03-20 International Business Machines Corporation Resolving hostnames on a private network with a public internet server

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101631133A (zh) * 2008-07-15 2010-01-20 华为技术有限公司 一种域名解析系统、设备及方法
CN102546613A (zh) * 2011-12-28 2012-07-04 深圳市万兴软件有限公司 访问gae托管网站的方法及对应的控制装置和系统
CN102546854A (zh) * 2012-01-10 2012-07-04 上海西默通信技术有限公司 一种域名和服务器建立http连接的域名解析方法

Also Published As

Publication number Publication date
CN103685590A (zh) 2014-03-26

Similar Documents

Publication Publication Date Title
CN103685590B (zh) 获取ip地址的方法及系统
CN106528432B (zh) 测试场景数据的构建方法及装置、埋点测试方法
CN106489145B (zh) web网站的访问方法、装置及Web网站系统
CN103581213B (zh) 一种共享Hosts文件的应用方法、设备和系统
CN103329113B (zh) 配置用于分级高速缓存的代理服务器以及动态站点加速和自定义对象和相关的方法
CN102891897B (zh) 网页分享方法和服务器及客户端
US8180376B1 (en) Mobile analytics tracking and reporting
US8838679B2 (en) Providing state service for online application users
US20070226229A1 (en) Method and system for class-based management of dynamic content in a networked environment
CN102647482A (zh) 一种访问网站的方法和系统
CN108989430B (zh) 负载均衡方法、装置及存储介质
WO2008130946A2 (en) Unobtrusive methods and systems for collecting information transmitted over a network
CN103179148B (zh) 一种在互联网中分享附件的处理方法和系统
CN103765858B (zh) 用于在用户在通信网络内的浏览期间监视用户的方法和服务器
CN109672757A (zh) 文件访问方法及文件访问处理装置
CN103428302A (zh) 一种域名解析方法、域名解析服务器及域名解析系统
CN106775486A (zh) 数据访问系统、方法及路由服务器、配置中心服务器
CN101046806B (zh) 搜索引擎系统和方法
CN107888666A (zh) 一种跨地域数据存储系统以及数据同步方法和装置
US20130212159A1 (en) Method, Apparatus and System for Intercepted Triggering of Execution of Internet Services
CN109617780A (zh) 接入网络的方法、装置、终端设备及机器可读存储介质
CN100414869C (zh) 一种互联网上实现资讯订阅的方法及系统
CN104935653A (zh) 一种访问热点资源的旁路缓存方法和装置
CN109005433B (zh) 一种视频云服务平台架构及实现方法
CN109756584A (zh) 域名解析方法、域名解析装置及计算机可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant