针对多用户的域名解析的方法和域名解析系统的制作方法

文档序号:7998646阅读:195来源:国知局
针对多用户的域名解析的方法和域名解析系统的制作方法
【专利摘要】本申请提供一种针对多用户的域名解析的方法和域名解析系统,其中,该针对多用户的域名解析的方法包括:在多个终端处向多个用户提供用于登录主服务器的入口;拦截基于用户通过所述入口在浏览器中所输入的网页地址而发起的域名解析请求;查询与所述用户关联的域名解析文件中是否存在与所述网页地址对应的域名解析结果;以及如果所述域名解析文件中存在与所述网页地址对应的域名解析结果,则向所述浏览器返回所述解析结果以使所述用户访问应用服务器。通过采用本申请的技术方案,可以实现多个用户共用同一台主服务器进行诸如浏览器兼容性测试等需要进行域名解析的操作,从而可以解决多用户间的域名解析文件(Hosts)修改冲突问题。
【专利说明】针对多用户的域名解析的方法和域名解析系统

【技术领域】
[0001] 本申请涉及互联网【技术领域】,尤其涉及一种针对多用户的域名解析的方法和域名 解析系统。

【背景技术】
[0002] 浏览器是互联网产品客户端的核心软件,也是网站访问的必备软件,随着互联网 技术的发展,出现了多种品牌的浏览器,同一品牌浏览器也存在多个不同版本,不同品牌或 不同版本的浏览器对互联网产品的支持也各有差异,为了使自己的网站或产品能够有更高 的市场占有率,就需要使自己的产品尽可能对各种浏览器以及同一浏览器的各个版本实现 兼容。因此,在互联网【技术领域】,需要针对自己的网站或产品进行浏览器兼容性测试,从而 保证网站或产品具有更好的用户体验性,提高用户点击率。
[0003] 现有浏览器兼容性测试方案是在进行测试的电脑上安装多个虚拟机,以实现覆盖 不同浏览器的兼容性测试需求,然而,由于虚拟机对硬件的要求较高,所以在一定程度上会 增加企业的硬件运营成本,并且,由于虚拟机的安装复杂程度较高,致使安装人力成本也很 高,因此,一些测试人员并不会去覆盖所有的浏览器,因而会造成产品兼容性不强。
[0004] 在测试方案中,WEB自动化测试是一种把以人为驱动的WEB功能测试行为转化为 机器自动执行的过程。即,由机器自动执行原来由人为进行鼠标点击或键盘操作来完成的 对业务逻辑功能测试的过程,节省了大量的人力物力。然而,WEB自动化测试如果要实现项 目级别的测试,需要修改系统中的Hosts文件。Hosts是浏览器系统中存在的一个文本文 件,其作用就是将一些常用的网址域名与其对应的IP地址建立一个关联"数据库",通过修 改Hosts文件可改变域名的IP指向。域名需要经过运营商的域名解析服务器的解析才能 访问到目标服务器,而大多数的产品开发过程都是在开发者公司内部网络中进行,通过域 名访问显然是没办法进行测试的,因此,目前的测试一般都通过修改系统中的Hosts文件 的方式,在测试所使用的计算机上将域名临时指向公司内网IP,从而达到对开发环境测试 的目的。然而,所有操作系统的Hosts都是全局生效的,执行一个任务并修改了 Hosts文件, 整个计算机都会受到影响。这就决定了,WEB自动化测试在一台设备上一次只能执行一个 任务,无法实现多用户的并发运行,导致硬件资源浪费。


【发明内容】

[0005] 本申请的主要目的在于提供一种针对多用户的域名解析的方法和域名解析系统, 以解决现有技术存在的域名解析文件(Hosts)修改冲突的问题,其中:本申请提供的一种 针对多用户的域名解析的方法,包括:在多个终端处向多个用户提供用于登录主服务器的 入口;拦截基于用户通过所述入口在浏览器中所输入的网页地址而发起的域名解析请求; 查询与所述用户关联的域名解析文件中是否存在与所述网页地址对应的域名解析结果;以 及如果所述域名解析文件中存在与所述网页地址对应的域名解析结果,则向所述浏览器返 回所述解析结果以使所述用户访问应用服务器。
[0006] 根据本申请的实施例,在该方法中,还包括:接收来自所述多个用户在所述多个终 端处的浏览器开启操作,根据所述操作开启相应的浏览器。
[0007] 根据本申请的实施例,在该方法中,在所述主服务器的操作系统中设置钩子函数, 以拦截所述域名解析请求。
[0008] 根据本申请的实施例,在该方法中,针对所述多个用户中的每个用户建立关联的 域名解析文件,所述域名解析文件与所述用户的账号绑定并保存在所述主服务器中。
[0009] 本申请的另一方面提供一种主服务器,包括:拦截模块,用于拦截基于用户通过在 多个终端处向多个用户提供的用于登录的入口之一在浏览器中所输入的网页地址而发起 的域名解析请求;查询模块,用于查询与所述用户关联的域名解析文件中是否存在与所述 网页地址对应的域名解析结果;以及返回模块,用于当所述域名解析文件中存在与所述网 页地址对应的域名解析结果时,向所述浏览器返回所述解析结果以访问应用服务器。
[0010] 根据本申请的实施例,在该主服务器中,还包括:开启模块,用于接收来自所述多 个用户在所述多个终端处的浏览器开启操作,根据所述操作开启相应的浏览器。
[0011] 根据本申请的实施例,在该主服务器中,所述拦截模块进一步用于在所述主服务 器的操作系统中设置钩子函数,以拦截所述域名解析请求。
[0012] 根据本申请的实施例,在该主服务器中,还包括:文件建立模块,用于针对所述多 个用户中的每个用户建立关联的域名解析文件,所述域名解析文件与所述用户的账号绑定 并保存在所述主服务器中。
[0013] 本申请的另一方面还提供一种针对多用户的域名解析的系统,包括:多个终端, 用于向多个用户提供用于登录主服务器的入口;以及主服务器,所述主服务器包括:拦截 模块,用于拦截基于用户通过所述入口在浏览器中所输入的网页地址而发起的域名解析请 求;查询模块,用于查询与所述用户关联的域名解析文件中是否存在与所述网页地址对应 的域名解析结果;以及返回模块,用于当所述域名解析文件中存在与所述网页地址对应的 域名解析结果时,向所述浏览器返回所述解析结果以访问应用服务器。
[0014] 与现有技术相比,根据本申请的技术方案,可以实现多个用户共用同一台主服务 器进行诸如浏览器兼容性测试等需要进行域名解析的操作,为每个用户单独建立独立于其 他用户的域名解析文件(Hosts),以解决多用户间的域名解析文件(Hosts)修改冲突问题。 并且,由于多个用户共用一台服务器,不需要安装虚拟机,可以降低硬件配置,从而降低硬 件成本;在多个用户共用的服务器上提供了多种版本的浏览器,而在测试终端上无需安装 浏览器也可进行测试任务,可以省去在多个测试终端上安装多个浏览器的不便。

【专利附图】

【附图说明】
[0015] 此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申 请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0016] 图1是本申请实施例涉及的针对多用户的域名解析的方法的流程图;
[0017] 图2是本申请实施例涉及的主服务器200的框图;以及
[0018] 图3是本申请实施例涉及的针对多用户的域名解析的系统300的框图。

【具体实施方式】
[0019] 为使本申请的目的、技术方案和优点更加清楚,以下结合附图及具体实施例,对本 申请作进一步地详细说明。
[0020] 根据本申请的实施例,提供了一种针对多用户的域名解析的方法。
[0021] 参考图1,图1是本申请实施例的流程图。如图1所示,在步骤S101中,在多个终 端处向多个用户提供用于登录主服务器的入口。所述主服务器与所述多个终端可以通过各 种方式连接,例如,可以通过有线、无线等等方式进行连接。在所述多个终端处可以向多个 用户提供用于登录所述主服务器的入口,以使所述用户登录所述主服务器,进行操作。
[0022] 在实际应用中,以浏览器兼容性测试为例,所述主服务器可以为兼容各种浏览器 或相同浏览器的不同版本的设备。而在用户所使用的多个测试终端(例如可以是台式计算 机、便携式计算机等等)上不需要安装浏览器,而是可以在用户所使用的多个测试计算机上 提供一个登录所述主服务器的入口,例如利用Windows系统的远程桌面实现,或者,例如, 在测试计算机上提供一个用于用户登录的界面,用户在该登录界面内输入账号、密码等进 行登录,登录成功即可接入主服务器,并进行所需的操作。
[0023] 优选地,还可以接收来自所述多个用户在所述多个终端处的浏览器开启操作,并 根据所述操作开启相应的浏览器。
[0024] 在实际应用中,例如进行浏览器兼容性测试时,当用户通过测试终端上的入口登 录主服务器时,可以向用户提供一浏览器选择的页面,使用户对需要进行兼容性能测试的 浏览器进行选择。例如,在为用户提供的选择页面上为用户提供开启所述主服务器中所安 装的各个浏览器及版本的链接按钮,当用户进行选择时,点击任意按钮即可开启用户所选 择的浏览器,用户可以利用所打开的浏览器对网页或产品进行浏览器兼容性测试的操作。 还可以在用户所使用的测试计算机上显示其选择的浏览器的窗口,也就是说,虽然在用户 所使用的测试计算机上为用户显示其选择的浏览器窗口,实际上该浏览器是安装在主服务 器的操作系统上的。
[0025] 在步骤S102中,拦截基于用户通过所述入口在浏览器中所输入的网页地址而发 起的域名解析请求。
[0026] 用户通过入口登录主服务器,并打开要进行测试的浏览器后,会在浏览器中输入 想要进行访问的网页地址,而通常需要将网页地址对应的域名解析成计算机系统能够识别 的IP地址之后才能进行访问,也就是进行域名解析。目前的操作系统,以Windows系统为 例,在Windows系统中,域名解析文件(Hosts )的请求级别比域名解析服务器的请求级别 高,在进行DNS请求以前,Windows系统会先查找自己的域名解析文件(Hosts)中是否有这 个域名与相应的IP地址的映射关系。如果找到,则调用这个IP地址映射,直接打开对应的 网页,如果没有找到,再将该网页地址提交到域名解析(DNS)服务器进行IP地址的解析。
[0027] 而本申请中,用户所使用的浏览器是安装在主服务器上的,并不是安装在用户所 使用的测试计算机上的,因此,当用户在测试计算机中输入网址后,主服务器会接收到该网 页地址,并且,通过在主服务器系统的域名解析文件中查找相应的解析结果,或向域名解析 服务器发送对该网页地址进行域名解析的请求来完成解析,并为用户打开该网页地址对应 的网页。因此,在步骤S102中,拦截基于用户通过所述入口在浏览器中所输入的网页地址 而发起的域名解析请求,所述域名解析请求,可以包括:在系统中的域名解析文件中查询是 否有用户所输入的网页地址对应的域名解析结果的请求,和/或向域名解析服务器发送对 所述网页地址的域名解析请求。
[0028] 可以通过在所述主服务器的操作系统中设置钩子函数,以拦截所述域名解析请 求。
[0029] 例如,在所述主服务器的操作系统中设置API (应用程序编程接口)钩子,实现对 API函数调用的动态拦截,以拦截所述域名解析(DNS)请求。通过API钩子找到原先的域名 解析相关的API函数的地址,通过改变它的地址指向,从而使得对该API函数的调用能够指 向预先设定的替代的函数调用。
[0030] 在步骤S103中,查询与所述用户关联的域名解析文件中是否存在与所述网页地 址对应的域名解析结果。
[0031] 针对所述多个用户中的每个用户,可以建立与该用户关联的域名解析文件,所述 域名解析文件与所述用户的登录账号绑定,并将建立的域名解析文件保存在所述主服务器 中。也就是说,为每个用户建立与其登录主服务器的账号绑定的并且独立于其他用户的域 名解析文件,并保存在主服务器中。例如,当进行浏览器兼容性时,用户所使用的测试终端 登录到主服务器时,可以在测试终端上打开该用户的相关的域名解析文件,通过修改该域 名解析文件的方式,将测试所使用的计算机上将要访问的域名临时指向一个指定的IP地 址,从而可以在内部网络达到对开发环境测试的目的。
[0032] 并且,由于每个用户的域名解析文件都是独立的,因此,可以避免类似现有的浏览 器兼容性测试过程中,Hosts的修改冲突的问题。当用户再次访问以前通过主服务器访问 过的网页地址时,不需要向域名解析服务器发送域名解析请求就可以将要访问的网页地址 对应的解析结果直接返回浏览器,并打开用户想要访问的网页。
[0033] 因此,在步骤S104中,如果所述域名解析文件中存在与所述网页地址对应的域名 解析结果,则向所述浏览器返回所述解析结果以使所述用户访问应用服务器。即,用户关联 的域名解析文件中如果存在与所述网页地址对应的域名解析结果,则直接打开用户想要访 问的网页,也就是连接到该网页地址对应的应用服务器上,用户即可以进行测试等操作。
[0034] 可选地,在步骤S104中,如果在用户的独立域名解析文件中没有查找到与该用户 当前输入的网页地址对应的域名解析结果,则还可以包括:查询所述主服务器的系统的域 名解析文件中是否存在与所述网页地址对应的域名解析结果的步骤,如果所述主服务器的 系统的域名解析文件中存在与所述网页地址对应的域名解析结果,则可以向所述浏览器返 回所述解析结果,以使用户打开所述网页地址对应的网页并访问相应的应用服务器。
[0035] 而如果所述主服务器的系统的域名解析文件中不存在与所述网页地址对应的域 名解析结果,则可以根据所述网页地址向域名解析服务器发送域名解析请求。并且,在接 收到所述域名解析服务器对所述网页地址的解析结果后,可以向所述浏览器返回所述域名 解析服务器对所述网页地址的解析结果。
[0036] 可选地,还可以将所述域名解析服务器对所述网页地址的解析结果保存在当前用 户关联的域名解析文件中,以使该用户下次登录主服务器并访问相同的网页地址时,通过 域名解析文件中的IP地址解析结果直接访问所述网页。
[0037] 上述的两个步骤S103-S104可以通过钩子函数来实现,例如,通过API钩子,在所 有程序的进程地址空间中,或在所有浏览器的进程地址空间中注入执行上述两个步骤的程 序代码的动态链接库文件,当发现有域名解析请求时(例如,与域名解析有关的API函数的 调用),请求会被拦截而执行注入的动态链接库文件中的替代程序,即,查询当前用户关联 的域名解析文件的配置,如果有所述网页地址对应域名的解析结果,则直接返回结果。
[0038] 如果在用户的独立域名解析文件中没有查找到与该用户当前输入的网页地址对 应的域名解析结果,则可以执行根据所述网页地址向域名解析服务器发送域名解析请求, 并将域名解析服务器的解析结果返回,打开用户想要访问的网页。
[0039] 图2是本申请提供的一种主服务器200的结构框图,如图2所示,所述主服务器包 括:拦截模块201、查询模块202以及返回模块203。
[0040] 拦截模块201,可以用于拦截基于用户通过在多个终端处向多个用户提供的用于 登录的入口之一在浏览器中所输入的网页地址而发起的域名解析请求。
[0041] 查询模块202,可以用于查询与所述用户关联的域名解析文件中是否存在与所述 网页地址对应的域名解析结果。
[0042] 返回模块203,可以用于当所述域名解析文件中存在与所述网页地址对应的域名 解析结果时,向所述浏览器返回所述解析结果以访问应用服务器。
[0043] 所述主服务器200还可以包括:
[0044] 开启模块204,可以用于接收来自所述多个用户在所述多个终端处的浏览器开启 操作,根据所述操作开启相应的浏览器。
[0045] 所述拦截模块201可以进一步用于在所述主服务器的操作系统中设置钩子函数, 以拦截所述域名解析请求。
[0046] 所述主服务器200还可以包括:
[0047] 文件建立模块205,可以用于针对所述多个用户中的每个用户建立关联的域名解 析文件,所述域名解析文件与所述用户的账号绑定并保存在所述主服务器中。
[0048] 可选地,所述查询模块202还可以用于当所述域名解析文件中不存在与所述网页 地址对应的域名解析结果时,查询所述主服务器的系统中的域名解析文件中是否存在与所 述网页地址对应的域名解析结果。
[0049] 所述返回模块203可以进一步用于向所述浏览器返回所述主服务器的系统中的 域名解析文件中与所述网页地址对应的域名解析结果。
[0050] 可选地,所述主服务器200还可以包括:
[0051] 解析请求模块206,可以用于当所述域名解析文件中不存在与所述网页地址对应 的域名解析结果时,根据所述网页地址向域名解析服务器发送域名解析请求。
[0052] 并且,所述返回模块203可以进一步用于向所述浏览器返回所述域名解析服务器 对所述网页地址的解析结果。
[0053] 如图3所示,图3是本申请涉及的一种针对多用户的域名解析的系统300的框图, 如图3所示,所述系统包括:多个终端500和主服务器400。
[0054] 多个终端500,可以用于向多个用户提供用于登录主服务器的入口。
[0055] 主服务器400,可以包括:拦截模块401、查询模块402、返回模块403。
[0056] 其中,拦截模块401,可以用于拦截基于用户通过所述入口在浏览器中所输入的网 页地址而发起的域名解析请求。
[0057] 查询模块402,可以用于查询与所述用户关联的域名解析文件中是否存在与所述 网页地址对应的域名解析结果。
[0058] 返回模块403,可以用于当所述域名解析文件中存在与所述网页地址对应的域名 解析结果时,向所述浏览器返回所述解析结果以访问应用服务器。
[0059] 可选地,所述主服务器400还可以包括:
[0060] 开启模块404,可以用于接收来自所述多个用户在所述多个终端处的浏览器开启 操作,根据所述操作开启相应的浏览器。
[0061] 所述拦截模块401可以进一步用于在所述主服务器的操作系统中设置钩子函数, 以拦截所述域名解析请求。
[0062] 所述主服务器400还可以包括:
[0063] 文件建立模块405,可以用于针对所述多个用户中的每个用户建立关联的域名解 析文件,所述域名解析文件与所述用户的账号绑定并保存在所述主服务器中。
[0064] 可选地,所述查询模块402还可以用于当所述域名解析文件中不存在与所述网页 地址对应的域名解析结果时,查询所述主服务器的系统中的域名解析文件中是否存在与所 述网页地址对应的域名解析结果。
[0065] 所述返回模块403可以进一步用于向所述浏览器返回所述主服务器的系统中的 域名解析文件中与所述网页地址对应的域名解析结果。
[0066] 可选地,所述主服务器400还可以包括:
[0067] 解析请求模块406,可以用于当所述域名解析文件中不存在与所述网页地址对应 的域名解析结果时,根据所述网页地址向域名解析服务器发送域名解析请求。
[0068] 并且,所述返回模块403可以进一步用于向所述浏览器返回所述域名解析服务器 对所述网页地址的解析结果。
[0069] 本申请的方法的具体实施与主服务器200以及系统300所包括的各个模块的具 体实施是相对应的,可以相互参照,为了不模糊本申请,在此省略对主服务器200以及系统 300的具体细节进行描述。
[0070] 应当注意,尽管在上文描述中提及了系统的若干模块或子模块,但是这种划分并 非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多模块的特征和功能可 以在一个模块中具体化。反之,上文描述的一个模块的特征和功能可以进一步划分为由多 个模块来具体化。
[0071] 此外,尽管在附图中以特定顺序描述了本申请方法的操作,但是,这并非要求或者 暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的 结果。
[0072] 本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序 模块或单元。一般地,程序模块或单元可以包括执行特定任务或实现特定抽象数据类型的 例程、程序、对象、组件、数据结构等等。一般来说,程序模块或单元可以由软件、硬件或两者 的结合来实现。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过 通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块或单元可 以位于包括存储设备在内的本地和远程计算机存储介质中。
[0073] 还需要说明的是,术语"包括"、"包含"或者其任何其他变体意在涵盖非排他性的 包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包 括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要 素。在没有更多限制的情况下,由语句"包括一个……"限定的要素,并不排除在包括所述 要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0074] 本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序 产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实 施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机 可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产 品的形式。
[0075] 本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说 明只是用于帮助理解本申请的方法及其主要思想;同时,对于本领域的一般技术人员,依据 本申请的思想,在【具体实施方式】及应用范围上均会有改变之处,综上所述,本说明书内容不 应理解为对本申请的限制。
【权利要求】
1. 一种针对多用户的域名解析的方法,其特征在于,包括: 在多个终端处向多个用户提供用于登录主服务器的入口; 拦截基于用户通过所述入口在浏览器中所输入的网页地址而发起的域名解析请求; 查询与所述用户关联的域名解析文件中是否存在与所述网页地址对应的域名解析结 果;以及 如果所述域名解析文件中存在与所述网页地址对应的域名解析结果,则向所述浏览器 返回所述解析结果以使所述用户访问应用服务器。
2. 根据权利要求1所述的方法,其特征在于,还包括:接收来自所述多个用户在所述多 个终端处的浏览器开启操作,根据所述操作开启相应的浏览器。
3. 根据权利要求1所述的方法,其特征在于,在所述主服务器的操作系统中设置钩子 函数,以拦截所述域名解析请求。
4. 根据权利要求1所述的方法,其特征在于,针对所述多个用户中的每个用户建立关 联的域名解析文件,所述域名解析文件与所述用户的账号绑定并保存在所述主服务器中。
5. -种主服务器,其特征在于,包括: 拦截模块,用于拦截基于用户通过在多个终端处向多个用户提供的用于登录的入口之 一在浏览器中所输入的网页地址而发起的域名解析请求; 查询模块,用于查询与所述用户关联的域名解析文件中是否存在与所述网页地址对应 的域名解析结果;以及 返回模块,用于当所述域名解析文件中存在与所述网页地址对应的域名解析结果时, 向所述浏览器返回所述解析结果以访问应用服务器。
6. 根据权利要求5所述的主服务器,其特征在于,还包括: 开启模块,用于接收来自所述多个用户在所述多个终端处的浏览器开启操作,根据所 述操作开启相应的浏览器。
7. 根据权利要求5所述的主服务器,其特征在于,所述拦截模块进一步用于在所述主 服务器的操作系统中设置钩子函数,以拦截所述域名解析请求。
8. 根据权利要求6所述的主服务器,其特征在于,还包括: 文件建立模块,用于针对所述多个用户中的每个用户建立关联的域名解析文件,所述 域名解析文件与所述用户的账号绑定并保存在所述主服务器中。
9. 一种针对多用户的域名解析的系统,其特征在于,包括: 多个终端,用于向多个用户提供用于登录主服务器的入口;以及 主服务器,所述主服务器包括: 拦截模块,用于拦截基于用户通过所述入口在浏览器中所输入的网页地址而发起的域 名解析请求; 查询模块,用于查询与所述用户关联的域名解析文件中是否存在与所述网页地址对应 的域名解析结果;以及 返回模块,用于当所述域名解析文件中存在与所述网页地址对应的域名解析结果时, 向所述浏览器返回所述解析结果以访问应用服务器。
【文档编号】H04L29/12GK104125308SQ201310148213
【公开日】2014年10月29日 申请日期:2013年4月25日 优先权日:2013年4月25日
【发明者】王一 申请人:阿里巴巴集团控股有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1