更新缓存服务器的配置名单的方法和装置与流程

文档序号:11063498阅读:307来源:国知局
更新缓存服务器的配置名单的方法和装置与制造工艺

本申请涉及配置名单领域,具体而言,涉及一种更新缓存服务器的配置名单的方法和装置。



背景技术:

大并发量的web站点前端一般会放置若干台缓存服务器以提高站点性能,常见为squid服务器,其在安装后的默认配置上是可以接收所有域名的http访问的,出于安全性考虑,其常规配置上要求缓存url的域名是可控的,即设置自己的squid服务器只能接收运维人员指定的域名进行缓存,也就是设置squid白名单,缓存配置文件习惯性地配置为allow_domain.conf(不限于此,随配置人员自定)。如果这个squid是服务于多个域名的话,这个conf文件中就会记录多个域名。

一些公司由于业务关系,可能会涉及到域名频繁变动,如增加、删除、修改域名名称,为了使更新后的域名可以使用squid的缓存服务、删除的域名无需使用squid的缓存服务,上述白名单配置文件中的域名也需要随之进行增加、删除、修改等。然而,在多个squid节点、多个域名、域名更改频率高的情况下,手动配置缓存服务器的配置名单是非常繁琐且容易出错的。

针对上述的问题,目前尚未提出有效的解决方案。



技术实现要素:

本申请实施例提供了一种更新缓存服务器的配置名单的方法和装置,以至少解决由人工手动更新缓存服务器的配置名单造成的易出错且效率低的技术问题。

根据本申请实施例的一个方面,提供了一种更新缓存服务器的配置名单的方法,包括:获取第一域名,其中,所述第一域名为处于解析状态的域名;把所述第一域名更新至所述缓存服务器的名单配置文件;以及重载所述缓存服务器。

进一步地,把所述第一域名更新至所述缓存服务器的名单配置文件包括:删除所述名单配置文件中的第二域名,其中,所述第二域名为所述名单配置文件中记录的域名;以及添加所述第一域名至所述名单配置文件。

进一步地,所述第一域名的数量为多个,添加所述第一域名至所述名单配置文件包括:遍历所述第一域名的列表,每遍历到一个所述第一域名,添加遍历到的所述第一域名至所述名单配置文件,直至遍历结束。

进一步地,每隔预设时间执行一次如下步骤:获取所述第一域名;把所述第一域名更新至所述名单配置文件;以及重载所述缓存服务器。

进一步地,获取所述第一域名包括:通过调用目标应用程序编程接口获取所述第一域名,其中,所述目标应用程序编程接口为解析所述第一域名的接口。

根据本申请实施例的一个方面,提供了一种更新缓存服务器的配置名单的装置,包括:获取单元,用于获取第一域名,其中,所述第一域名为处于解析状态的域名;更新单元,用于把所述第一域名更新至所述缓存服务器的名单配置文件;以及重载单元,用于重载所述缓存服务器。

进一步地,所述更新单元包括:删除子单元,用于删除所述名单配置文件中的第二域名,其中,所述第二域名为所述名单配置文件中记录的域名;以及添加子单元,用于添加所述第一域名至所述名单配置文件。

进一步地,所述第一域名的数量为多个,所述添加子单元包括:遍历模块,用于遍历所述第一域名的列表,每遍历到一个所述第一域名,添加遍历到的所述第一域名至所述名单配置文件,直至遍历结束。

进一步地,每隔预设时间,所述获取单元获取所述第一域名;所述更新单元把所述第一域名更新至所述名单配置文件;以及所述重载单元重载所述缓存服务器。

进一步地,所述获取单元包括:获取子单元,用于通过调用目标应用程序编程接口获取所述第一域名,其中,所述目标应用程序编程接口为解析所述第一域名的接口。

在本申请实施例中,通过获取第一域名,其中,第一域名为处于解析状态的域名,然后把第一域名更新至缓存服务器的名单配置文件,重载缓存服务器,更新后的名单配置文件生效,实现了自动更新缓存服务器的配置名单,解决了手动更新缓存服务器的配置文件操作繁琐、效率低下、容易出错的技术问题,达到了及时、准确、高效地自动更新缓存服务器的配置名单的技术效果。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1是根据本申请实施例的更新缓存服务器的配置名单的方法的流程图;以及

图2是根据本申请实施例的更新缓存服务器的配置名单的装置的示意图。

具体实施方式

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

需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

根据本申请实施例,提供了一种更新缓存服务器的配置名单的方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

图1是根据本申请实施例的更新缓存服务器的配置名单的方法的流程图,如图1所示,该方法包括如下步骤:

步骤S102,获取第一域名,其中,第一域名为处于解析状态的域名。一些公司由于业务关系,域名变动频繁,有可能会增加新的域名、删除旧的域名或者更改域名名称,等等。处于解析状态的域名是这些公司在当前时刻正在使用的域名,也可以认为是有效域名。

步骤S104,把第一域名更新至缓存服务器的名单配置文件。其中,名单配置文件的位置由管理者提前设置。即,把有效域名更新到名单配置文件,名单配置文件可以是管理者提前设置好的,名单配置文件记录的域名能够使用缓存服务器的缓存服务,名单配置文件未记录的域名不能使用缓存服务器的缓存服务。名单配置文件可以是白名单配置文件。

步骤S106,重载缓存服务器。即,重新加载缓存服务器使缓存服务器中的名单配置文件生效。

例如,某公司处于解析状态下的域名有3个,分别是域名‘www.a.com’、域名‘img.a.com’和域名‘music.a.com’。域名‘www.a.com’、域名‘img.a.com’和域名‘music.a.com’即为第一域名,也是有效域名。将域名‘www.a.com’、域名‘img.a.com’和域名‘music.a.com’更新至缓存服务器的名单配置文件,使名单配置文件记录这3个域名。更新之后,调用系统的bash,执行service squid reload重载squid服务器。

本申请实施例所提供的更新缓存服务器的配置名单的方法,通过获取处于解析状态的域名,即,获取第一域名,然后把第一域名更新至缓存服务器的名单配置文件,重载缓存服务器,更新后的名单配置文件生效,实现了自动更新缓存服务器的配置名单,解决了手动更新缓存服务器的配置文件操作繁琐、效率低下、容易出错的技术问题,达到了及时、准确、高效地自动更新缓存服务器的配置名单的技术效果。

可选地,把第一域名更新至缓存服务器的名单配置文件包括:删除名单配置文件中的第二域名,其中,第二域名为名单配置文件中记录的域名;以及添加第一域名至名单配置文件。名单配置文件当前时刻记录的域名为第二域名,第二域名可以为多个,第二域名中的某些域名可能已经没有实际意义,即公司已经不再使用这些域名,或者公司已经把这些域名做了修改。把名单配置文件中记录的域名全部删除,把第一域名添加到名单配置文件中。名单配置文件可以是“allow_domain.conf”文件。

例如,某公司当前使用的域名有2个,分别是域名‘www.a.com’和域名‘www.b.com’,则域名‘www.a.com’和域名‘www.b.com’是第一域名,也是有效域名。缓存服务器的名单配置文件当前时刻记录的域名有1个,为域名‘www.a.com’,则域名‘www.a.com’是第二域名,此时,只有域名‘www.a.com’能够使用缓存服务器的缓存服务,域名‘www.b.com’不能使用缓存服务器的缓存服务。删除掉缓存服务器的名单配置文件记录的第二域名,即删除掉名单配置文件中的域名‘www.a.com’,此时名单配置文件未记录任何域名。接下来,把域名‘www.a.com’和域名‘www.b.com’添加到名单配置文件中,使名单配置文件记录域名‘www.a.com’和域名‘www.b.com’。此时,域名‘www.a.com’和域名‘www.b.com’都能够使用缓存服务器的缓存服务。

又例如,某公司当前使用的域名有2个,分别是域名‘www.d.com’和域名‘www.e.com’,则域名‘www.d.com’和域名‘www.e.com’是第一域名,也是有效域名。缓存服务器的名单配置文件中当前时刻记录的域名有3个,为域名‘www.d.com’、域名‘www.g.com’和域名‘www.f.com’,则域名‘www.d.com’、域名‘www.g.com’ 和域名‘www.f.com’是第二域名,此时,域名‘www.d.com’、域名‘www.g.com’和域名‘www.f.com’都能够使用缓存服务器的缓存服务,域名‘www.e.com’不能使用缓存服务器的缓存服务。删除掉缓存服务器的名单配置文件中的第二域名,即删除掉名单配置文件中的域名‘www.d.com’、域名‘www.g.com’和域名‘www.f.com’,此时名单配置文件未记录任何域名。接下来,把域名‘www.d.com’和域名‘www.e.com’添加到名单配置文件中,使名单配置文件记录域名‘www.d.com’和域名‘www.e.com’。此时,域名‘www.d.com’和域名‘www.e.com’都能够使用缓存服务器的缓存服务,域名‘www.g.com’和域名‘www.f.com’都不能使用缓存服务器的缓存服务。

可选地,第一域名的数量为多个,添加第一域名至名单配置文件包括:遍历第一域名的列表,每遍历到一个第一域名,添加遍历到的第一域名至名单配置文件,直至遍历结束。即,第一域名的数量可以为多个,按照一定顺序(顺序可以预先设置),遍历这多个第一域名,每遍历到一个第一域名,就把这个第一域名添加到名单配置文件,直到遍历结束。

例如,某公司处于解析状态的域名有3个,分别为域名‘www.a.com’、域名‘img.a.com’和域名‘music.a.com’。域名‘www.a.com’、域名‘img.a.com’和域名‘music.a.com’是第一域名,也是有效域名。缓存服务器的名单配置文件当前记录了1个域名,为域名‘music.a.com’,域名‘music.a.com’即是第二域名。删除掉名单配置文件当前记录的域名,此时,名单配置文件未记录任何域名。按照一定顺序遍历上述3个有效域名,可以按照域名‘www.a.com’、域名‘img.a.com’、域名‘music.a.com’的顺序进行遍历,也可以按照域名‘img.a.com’、域名‘music.a.com’、域名‘www.a.com’的顺序进行遍历,还可以按照域名‘img.a.com’、域名‘www.a.com’、域名‘music.a.com’的顺序进行遍历,遍历顺序可以由管理人员按照需要预先设置,不局限于以上列举的几种顺序。以按照域名‘www.a.com’、域名‘img.a.com’、域名‘music.a.com’的顺序进行遍历为例进行具体说明。第一个遍历到的域名是域名‘www.a.com’,把域名‘www.a.com’添加到名单配置文件,此时,名单配置文件记录域名‘www.a.com’。第二个遍历到的域名是域名‘img.a.com’,把域名‘img.a.com’添加到名单配置文件,此时,名单配置文件记录域名‘www.a.com’和域名‘img.a.com’。第三个遍历到的域名是域名‘music.a.com’,把域名‘music.a.com’添加到名单配置文件,此时,名单配置文件记录了域名‘www.a.com’、域名‘img.a.com’和域名‘music.a.com’。此时,遍历结束。

可选地,本申请实施例所提供的更新缓存服务器的配置名单的方法每隔预设时间执行一次如下步骤:获取第一域名;把第一域名更新至名单配置文件;以及重载缓存服务器。

由于只有当名单配置文件中记录的域名与公司当前使用的域名(即有效域名)保持一致时,才能保证该公司当前使用的域名能够使用缓存服务器的缓存服务,而那些已经不被该公司使用的域名不能使用缓存服务器的缓存服务。由于某些公司的业务特性,需要频繁变动域名,所以名单配置文件中记录的域名也需要随之变动,以与公司当前使用的域名完全相同。所以,每隔预设时间,就需要执行一次如下步骤:获取有效域名,把有效域名更新到名单配置文件,重新加载缓存服务器使名单配置文件生效。预设时间可以参考公司域名变动的频繁程度等因素由管理人员进行预先设置,如果公司域名变动非常频繁,预设时间就可以是一段较短的时间,如果公司的域名变动不是特别频繁,预设时间就可以是一段较长的时间。

可选地,获取第一域名包括:通过调用目标应用程序编程接口获取第一域名,其中,目标应用程序编程接口为解析第一域名的接口。即,调用目标应用程序编程接口获取公司正在使用的域名,即第一域名,亦即有效域名。

域名解析服务商有多个,以选择解析服务商DNSPOD为例进行说明。DNSPOD的应用程序编程接口即为目标应用程序编程接口,通过调用目标应用程序编程接口获取公司当前正在使用的域名。

根据本申请实施例,还提供了一种更新缓存服务器的配置名单的装置,该更新缓存服务器的配置名单的装置可以执行上述更新缓存服务器的配置名单的方法,上述更新缓存服务器的配置名单的方法也可以通过该更新缓存服务器的配置名单的装置实施。

图2是根据本申请实施例的更新缓存服务器的配置名单的装置的示意图。如图2所示,该更新缓存服务器的配置名单的装置包括获取单元22、更新单元24和重载单元26。

获取单元22用于获取第一域名,其中,第一域名为处于解析状态的域名。一些公司由于业务关系,域名变动频繁,有可能会增加新的域名、删除旧的域名或者更改域名名称,等等。处于解析状态的域名是这些公司在当前时刻正在使用的域名,也可以认为是有效域名。

更新单元24用于把第一域名更新至缓存服务器的名单配置文件。其中,名单配置文件的位置由管理者提前设置。即,把有效域名更新到名单配置文件,名单配置文件可以是管理者提前设置好的,名单配置文件记录的域名能够使用缓存服务器的缓存服务,名单配置文件未记录的域名不能使用缓存服务器的缓存服务。名单配置文件可以是白名单配置文件。

重载单元26用于重载缓存服务器。即,重新加载缓存服务器使缓存服务器中的名 单配置文件生效。

例如,某公司处于解析状态下的域名有3个,分别是域名‘www.a.com’、域名‘img.a.com’和域名‘music.a.com’。域名‘www.a.com’、域名‘img.a.com’和域名‘music.a.com’即为第一域名,也是有效域名。将域名‘www.a.com’、域名‘img.a.com’和域名‘music.a.com’更新至缓存服务器的名单配置文件,使名单配置文件记录这3个域名。更新之后,调用系统的bash,执行service squid reload重载squid服务器。

本申请实施例所提供的更新缓存服务器的配置名单的装置,通过获取单元22获取处于解析状态的域名,即,获取第一域名,然后更新单元24把第一域名更新至缓存服务器的名单配置文件,重载单元26重载缓存服务器,更新后的名单配置文件生效,实现了自动更新缓存服务器的配置名单,解决了手动更新缓存服务器的配置文件操作繁琐、效率低下、容易出错的技术问题,达到了及时、准确、高效地自动更新缓存服务器的配置名单的技术效果。

可选地,更新单元24包括删除子单元和添加子单元。删除子单元用于删除名单配置文件中的第二域名,其中,第二域名为名单配置文件中记录的域名。添加子单元用于添加第一域名至名单配置文件。名单配置文件当前时刻记录的域名为第二域名,第二域名可以为多个,第二域名中的某些域名可能已经没有实际意义,即公司已经不再使用这些域名,或者公司已经把这些域名做了修改。把名单配置文件中记录的域名全部删除,把第一域名添加到名单配置文件中。名单配置文件可以是“allow_domain.conf”文件。

例如,某公司当前使用的域名有2个,分别是域名‘www.a.com’和域名‘www.b.com’,则域名‘www.a.com’和域名‘www.b.com’是第一域名,也是有效域名。缓存服务器的名单配置文件当前时刻记录的域名有1个,为域名‘www.a.com’,则域名‘www.a.com’是第二域名,此时,只有域名‘www.a.com’能够使用缓存服务器的缓存服务,域名‘www.b.com’不能使用缓存服务器的缓存服务。删除掉缓存服务器的名单配置文件记录的第二域名,即删除掉名单配置文件中的域名‘www.a.com’,此时名单配置文件未记录任何域名。接下来,把域名‘www.a.com’和域名‘www.b.com’添加到名单配置文件中,使名单配置文件记录域名‘www.a.com’和域名‘www.b.com’。此时,域名‘www.a.com’和域名‘www.b.com’都能够使用缓存服务器的缓存服务。

又例如,某公司当前使用的域名有2个,分别是域名‘www.d.com’和域名‘www.e.com’,则域名‘www.d.com’和域名‘www.e.com’是第一域名,也是有效域名。缓存服务器的名单配置文件中当前时刻记录的域名有3个,为域名‘www.d.com’、 域名‘www.g.com’和域名‘www.f.com’,则域名‘www.d.com’、域名‘www.g.com’和域名‘www.f.com’是第二域名,此时,域名‘www.d.com’、域名‘www.g.com’和域名‘www.f.com’都能够使用缓存服务器的缓存服务,域名‘www.e.com’不能使用缓存服务器的缓存服务。删除掉缓存服务器的名单配置文件中的第二域名,即删除掉名单配置文件中的域名‘www.d.com’、域名‘www.g.com’和域名‘www.f.com’,此时名单配置文件未记录任何域名。接下来,把域名‘www.d.com’和域名‘www.e.com’添加到名单配置文件中,使名单配置文件记录域名‘www.d.com’和域名‘www.e.com’。此时,域名‘www.d.com’和域名‘www.e.com’都能够使用缓存服务器的缓存服务,域名‘www.g.com’和域名‘www.f.com’都不能使用缓存服务器的缓存服务。

可选地,第一域名的数量为多个,添加子单元包括遍历模块。该遍历模块用于遍历第一域名的列表,每遍历到一个第一域名,添加遍历到的第一域名至名单配置文件,直至遍历结束。即,第一域名的数量可以为多个,按照一定顺序(顺序可以预先设置),遍历这多个第一域名,每遍历到一个第一域名,就把这个第一域名添加到名单配置文件,直到遍历结束。

例如,某公司处于解析状态的域名有3个,分别为域名‘www.a.com’、域名‘img.a.com’和域名‘music.a.com’。域名‘www.a.com’、域名‘img.a.com’和域名‘music.a.com’是第一域名,也是有效域名。缓存服务器的名单配置文件当前记录了1个域名,为域名‘music.a.com’,域名‘music.a.com’即是第二域名。删除掉名单配置文件当前记录的域名,此时,名单配置文件未记录任何域名。按照一定顺序遍历上述3个有效域名,可以按照域名‘www.a.com’、域名‘img.a.com’、域名‘music.a.com’的顺序进行遍历,也可以按照域名‘img.a.com’、域名‘music.a.com’、域名‘www.a.com’的顺序进行遍历,还可以按照域名‘img.a.com’、域名‘www.a.com’、域名‘music.a.com’的顺序进行遍历,遍历顺序可以由管理人员按照需要预先设置,不局限于以上列举的几种顺序。以按照域名‘www.a.com’、域名‘img.a.com’、域名‘music.a.com’的顺序进行遍历为例进行具体说明。第一个遍历到的域名是域名‘www.a.com’,把域名‘www.a.com’添加到名单配置文件,此时,名单配置文件记录域名‘www.a.com’。第二个遍历到的域名是域名‘img.a.com’,把域名‘img.a.com’添加到名单配置文件,此时,名单配置文件记录域名‘www.a.com’和域名‘img.a.com’。第三个遍历到的域名是域名‘music.a.com’,把域名‘music.a.com’添加到名单配置文件,此时,名单配置文件记录了域名‘www.a.com’、域名‘img.a.com’和域名‘music.a.com’。此时,遍历结束。

可选地,每隔预设时间,获取单元22获取第一域名,更新单元24把第一域名更新至名单配置文件,重载单元26重载缓存服务器。

由于只有当名单配置文件中记录的域名与公司当前使用的域名(即有效域名)保持一致时,才能保证该公司当前使用的域名能够使用缓存服务器的缓存服务,而那些已经不被该公司使用的域名不能使用缓存服务器的缓存服务。由于某些公司的业务特性,需要频繁变动域名,所以名单配置文件中记录的域名也需要随之变动,以与公司当前使用的域名完全相同。所以,每隔预设时间,就需要执行一次如下步骤:获取有效域名,把有效域名更新到名单配置文件,重新加载缓存服务器使名单配置文件生效。预设时间可以参考公司域名变动的频繁程度等因素由管理人员进行预先设置,如果公司域名变动非常频繁,预设时间就可以是一段较短的时间,如果公司的域名变动不是特别频繁,预设时间就可以是一段较长的时间。

可选地,获取单元22包括获取子单元。该获取子单元用于通过调用目标应用程序编程接口获取第一域名,其中,目标应用程序编程接口为解析第一域名的接口。即,调用目标应用程序编程接口获取公司正在使用的域名,即第一域名,亦即有效域名。

域名解析服务商有多个,以选择解析服务商DNSPOD为例进行说明。DNSPOD的应用程序编程接口即为目标应用程序编程接口,通过调用目标应用程序编程接口获取公司当前正在使用的域名。

上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。

在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

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