掌桥专利:专业的专利平台
掌桥专利
首页

数据请求负载调度方法、装置、电子设备及可读存储介质

文献发布时间:2023-06-19 12:19:35


数据请求负载调度方法、装置、电子设备及可读存储介质

技术领域

本公开实施例涉及数据处理技术领域,具体涉及一种数据请求负载调度方法、装置、电子设备及可读存储介质。

背景技术

随着数据技术的发展,为了使得用户更快更准确地获取想要访问的数据,CDN(Content Delivery Network,内容分发网络)应运而生,为了均衡CDN节点的数据流量和负载,需要对于CDN实施调度。目前CDN调度主要是基于DNS服务器数据实现流量负载均衡,但由于用户的数据请求需要经过Local DNS服务器才能传递至权威服务器,因此只能基于LocalDNS服务器生成的数据请求进行调度,而无法实现基于用户的调度,从而使得所述CDN调度缺失一定的精细度。

发明内容

本公开实施例提供一种数据请求负载调度方法、装置、电子设备及可读存储介质。

第一方面,本公开实施例中提供了一种数据请求负载调度方法。

具体的,所述数据请求负载调度方法,包括:

接收本地DNS服务器发送的数据请求,其中,所述数据请求的数量为一个或多个,所述数据请求携带有目标请求域名信息;

根据所述数据请求获取与所述目标请求域名信息对应的网络服务器地址;

获取所述网络服务器的调度参数,并基于所述网络服务器地址和所述网络服务器的调度参数生成反馈报文发送给所述本地DNS服务器,以使所述本地DNS服务器根据所述网络服务器的调度参数对于所述数据请求进行调度。

结合第一方面,本公开实施例在第一方面的第一种实现方式中,所述数据请求和反馈报文是基于预设命令发送的。

结合第一方面和第一方面的第一种实现方式,本公开实施例在第一方面的第二种实现方式中,所述网络服务器地址为内容分发网络节点IP地址。

结合第一方面、第一方面的第一种实现方式和第一方面的第二种实现方式,本公开实施例在第一方面的第三种实现方式中,所述基于所述网络服务器地址和所述网络服务器的调度参数生成反馈报文发送给所述本地DNS服务器之前,还包括:

确定获取的网络服务器地址的数量;

所述基于所述网络服务器地址和所述网络服务器的调度参数生成反馈报文发送给所述本地DNS服务器,被实施为:

基于所述网络服务器地址、所述网络服务器的调度参数和所述网络服务器地址的数量生成反馈报文发送给所述本地DNS服务器,以使所述本地DNS服务器根据所述网络服务器地址的数量对于所述反馈报文进行解析。

结合第一方面、第一方面的第一种实现方式、第一方面的第二种实现方式和第一方面的第三种实现方式,本公开实施例在第一方面的第四种实现方式中,所述调度参数为负载权重。

第二方面,本公开实施例中提供了一种数据请求负载调度方法。

具体的,所述数据请求负载调度方法,包括:

接收数据请求方发送的数据请求,其中,所述数据请求的数量为一个或多个,所述数据请求携带有目标请求域名信息;

基于预设命令将所述数据请求发送给权威DNS服务器,以使所述权威DNS服务器根据所述数据请求获取与所述目标请求域名信息对应的网络服务器地址;

接收并解析所述权威DNS服务器发送的反馈报文,并根据所述反馈报文对于所述数据请求方的数据请求进行调度,其中,所述反馈报文包括与所述目标请求域名信息对应的网络服务器地址以及所述网络服务器的调度参数。

结合第二方面,本公开实施例在第二方面的第一种实现方式中,所述根据所述反馈报文对于所述数据请求方的数据请求进行调度,被实施为:

确定第一分配网络服务器,并获取所述第一分配网络服务器的第一调度参数;

根据所述第一调度参数将所述第一分配网络服务器地址分配给所述数据请求方;

当所述第一分配网络服务器达到满负荷时,确定第二分配网络服务器,并获取所述第二分配网络服务器的第二调度参数;

根据所述第二调度参数将所述第二分配网络服务器地址分配给所述数据请求方,直至分配完毕所述反馈报文中的网络服务器。

结合第二方面和第二方面的第一种实现方式,本公开实施例在第二方面的第二种实现方式中,所述反馈报文中还包括所述网络服务器地址的数量。

结合第二方面、第二方面的第一种实现方式和第二方面的第二种实现方式,本公开在第二方面的第三种实现方式中,所述根据所述反馈报文对于所述数据请求方的数据请求进行调度之前,还包括:

根据所述网络服务器地址的数量对于所述反馈报文进行解析。

结合第二方面、第二方面的第一种实现方式、第二方面的第二种实现方式和第二方面的第三种实现方式,本公开在第二方面的第四种实现方式中,还包括:

对于所述数据请求和反馈报文进行缓存,在缓存有效时间内,当接收到数据请求方发送的与缓存数据请求具有同样的目标请求域名信息的数据请求时,将缓存的与所述缓存数据请求的目标请求域名信息对应的网络服务器地址发送给所述数据请求方。

结合第二方面、第二方面的第一种实现方式、第二方面的第二种实现方式、第二方面的第三种实现方式和第二方面的第四种实现方式,本公开在第二方面的第五种实现方式中,所述网络服务器地址为内容分发网络节点IP地址。

结合第二方面、第二方面的第一种实现方式、第二方面的第二种实现方式、第二方面的第三种实现方式、第二方面的第四种实现方式和第二方面的第五种实现方式,本公开在第二方面的第六种实现方式中,所述调度参数为负载权重。

第三方面,本公开实施例中提供了一种数据请求负载调度方法。

具体的,所述数据请求负载调度方法,包括:

本地DNS服务器接收数据请求方发送的数据请求,并基于预设命令将所述数据请求发送给权威DNS服务器,以使所述权威DNS服务器根据所述数据请求获取与所述目标请求域名信息对应的网络服务器地址,其中,所述数据请求的数量为一个或多个,所述数据请求携带有目标请求域名信息;

所述权威DNS服务器接收所述本地DNS服务器发送的数据请求,根据所述数据请求获取与所述目标请求域名信息对应的网络服务器地址,获取所述网络服务器的调度参数,并基于所述网络服务器地址和所述网络服务器的调度参数生成反馈报文发送给所述本地DNS服务器,以使所述本地DNS服务器根据所述网络服务器的调度参数对于所述数据请求进行调度;

所述本地DNS服务器接收并解析所述权威DNS服务器发送的反馈报文,并根据所述反馈报文对于所述数据请求方的数据请求进行调度,其中,所述反馈报文包括与所述目标请求域名信息对应的网络服务器地址以及所述网络服务器的调度参数。

结合第三方面,本公开实施例在第三方面的第一种实现方式中,所述权威DNS服务器基于所述网络服务器地址和所述网络服务器的调度参数生成反馈报文发送给所述本地DNS服务器之前,还包括:

确定获取的网络服务器地址的数量;

所述基于所述网络服务器地址和所述网络服务器的调度参数生成反馈报文发送给所述本地DNS服务器,被实施为:

基于所述网络服务器地址、所述网络服务器的调度参数和所述网络服务器地址的数量生成反馈报文发送给所述本地DNS服务器,以使所述本地DNS服务器根据所述网络服务器地址的数量对于所述反馈报文进行解析。

结合第三方面和第三方面的第一种实现方式,本公开实施例在第三方面的第二种实现方式中,所述本地DNS服务器在根据所述反馈报文对于所述数据请求方的数据请求进行调度之前,还包括:

根据所述网络服务器地址的数量对于所述反馈报文进行解析。

结合第三方面、第三方面的第一种实现方式和第三方面的第二种实现方式,本公开在第三方面的第三种实现方式中,所述本地DNS服务器根据所述反馈报文对于所述数据请求方的数据请求进行调度,被实施为:

确定第一分配网络服务器,并获取所述第一分配网络服务器的第一调度参数;

根据所述第一调度参数将所述第一分配网络服务器地址分配给所述数据请求方;

当所述第一分配网络服务器达到满负荷时,确定第二分配网络服务器,并获取所述第二分配网络服务器的第二调度参数;

根据所述第二调度参数将所述第二分配网络服务器地址分配给所述数据请求方,直至分配完毕所述反馈报文中的网络服务器。

结合第三方面、第三方面的第一种实现方式、第三方面的第二种实现方式和第三方面的第三种实现方式,本公开在第三方面的第四种实现方式中,还包括:

所述本地DNS服务器对于所述数据请求和反馈报文进行缓存,在缓存有效时间内,当接收到数据请求方发送的与缓存数据请求具有同样的目标请求域名信息的数据请求时,将缓存的与所述缓存数据请求的目标请求域名信息对应的网络服务器地址发送给所述数据请求方。

结合第三方面、第三方面的第一种实现方式、第三方面的第二种实现方式、第三方面的第三种实现方式和第三方面的第四种实现方式,本公开在第三方面的第五种实现方式中,所述网络服务器地址为内容分发网络节点IP地址。

结合第三方面、第三方面的第一种实现方式、第三方面的第二种实现方式、第三方面的第三种实现方式、第三方面的第四种实现方式和第三方面的第五种实现方式,本公开在第三方面的第六种实现方式中,所述调度参数为负载权重。

第四方面,本公开实施例中提供了一种数据请求负载调度装置。

具体的,所述数据请求负载调度装置,包括:

第一接收模块,被配置为接收本地DNS服务器发送的数据请求,其中,所述数据请求的数量为一个或多个,所述数据请求携带有目标请求域名信息;

获取模块,被配置为根据所述数据请求获取与所述目标请求域名信息对应的网络服务器地址;

生成模块,被配置为获取所述网络服务器的调度参数,并基于所述网络服务器地址和所述网络服务器的调度参数生成反馈报文发送给所述本地DNS服务器,以使所述本地DNS服务器根据所述网络服务器的调度参数对于所述数据请求进行调度。

结合第四方面,本公开实施例在第四方面的第一种实现方式中,所述数据请求和反馈报文是基于预设命令发送的。

结合第四方面和第四方面的第一种实现方式,本公开实施例在第四方面的第二种实现方式中,所述网络服务器地址为内容分发网络节点IP地址。

结合第四方面、第四方面的第一种实现方式和第四方面的第二种实现方式,本公开实施例在第四方面的第三种实现方式中,所述生成模块在基于所述网络服务器地址和所述网络服务器的调度参数生成反馈报文发送给所述本地DNS服务器之前,还被配置为:

确定获取的网络服务器地址的数量;

所述基于所述网络服务器地址和所述网络服务器的调度参数生成反馈报文发送给所述本地DNS服务器,被实施为:

基于所述网络服务器地址、所述网络服务器的调度参数和所述网络服务器地址的数量生成反馈报文发送给所述本地DNS服务器,以使所述本地DNS服务器根据所述网络服务器地址的数量对于所述反馈报文进行解析。

结合第四方面、第四方面的第一种实现方式、第四方面的第二种实现方式和第四方面的第三种实现方式,本公开实施例在第四方面的第四种实现方式中,所述调度参数为负载权重。

第五方面,本公开实施例中提供了一种数据请求负载调度装置。

具体的,所述数据请求负载调度装置,包括:

第二接收模块,被配置为接收数据请求方发送的数据请求,其中,所述数据请求的数量为一个或多个,所述数据请求携带有目标请求域名信息;

发送模块,被配置为基于预设命令将所述数据请求发送给权威DNS服务器,以使所述权威DNS服务器根据所述数据请求获取与所述目标请求域名信息对应的网络服务器地址;

调度模块,被配置为接收并解析所述权威DNS服务器发送的反馈报文,并根据所述反馈报文对于所述数据请求方的数据请求进行调度,其中,所述反馈报文包括与所述目标请求域名信息对应的网络服务器地址以及所述网络服务器的调度参数。

结合第五方面,本公开实施例在第五方面的第一种实现方式中,所述调度模块中根据所述反馈报文对于所述数据请求方的数据请求进行调度的部分,被配置为:

确定第一分配网络服务器,并获取所述第一分配网络服务器的第一调度参数;

根据所述第一调度参数将所述第一分配网络服务器地址分配给所述数据请求方;

当所述第一分配网络服务器达到满负荷时,确定第二分配网络服务器,并获取所述第二分配网络服务器的第二调度参数;

根据所述第二调度参数将所述第二分配网络服务器地址分配给所述数据请求方,直至分配完毕所述反馈报文中的网络服务器。

结合第五方面和第五方面的第一种实现方式,本公开实施例在第五方面的第二种实现方式中,所述反馈报文中还包括所述网络服务器地址的数量。

结合第五方面、第五方面的第一种实现方式和第五方面的第二种实现方式,本公开在第五方面的第三种实现方式中,所述调度模块在根据所述反馈报文对于所述数据请求方的数据请求进行调度之前,还被配置为:

根据所述网络服务器地址的数量对于所述反馈报文进行解析。

结合第五方面、第五方面的第一种实现方式、第五方面的第二种实现方式和第五方面的第三种实现方式,本公开在第五方面的第四种实现方式中,还包括:

缓存模块,被配置为对于所述数据请求和反馈报文进行缓存,在缓存有效时间内,当接收到数据请求方发送的与缓存数据请求具有同样的目标请求域名信息的数据请求时,将缓存的与所述缓存数据请求的目标请求域名信息对应的网络服务器地址发送给所述数据请求方。

结合第五方面、第五方面的第一种实现方式、第五方面的第二种实现方式、第五方面的第三种实现方式和第五方面的第四种实现方式,本公开在第五方面的第五种实现方式中,所述网络服务器地址为内容分发网络节点IP地址。

结合第五方面、第五方面的第一种实现方式、第五方面的第二种实现方式、第五方面的第三种实现方式、第五方面的第四种实现方式和第五方面的第五种实现方式,本公开在第五方面的第六种实现方式中,所述调度参数为负载权重。

第六方面,本公开实施例中提供了一种数据请求负载调度装置。

具体的,所述数据请求负载调度装置,包括:

本地DNS服务器,被配置为接收数据请求方发送的数据请求,并基于预设命令将所述数据请求发送给权威DNS服务器,以使所述权威DNS服务器根据所述数据请求获取与所述目标请求域名信息对应的网络服务器地址,接收并解析所述权威DNS服务器发送的反馈报文,并根据所述反馈报文对于所述数据请求方的数据请求进行调度,其中,所述数据请求的数量为一个或多个,所述数据请求携带有目标请求域名信息,所述反馈报文包括与所述目标请求域名信息对应的网络服务器地址以及所述网络服务器的调度参数;

权威DNS服务器,被配置为接收所述本地DNS服务器发送的数据请求,根据所述数据请求获取与所述目标请求域名信息对应的网络服务器地址,获取所述网络服务器的调度参数,并基于所述网络服务器地址和所述网络服务器的调度参数生成反馈报文发送给所述本地DNS服务器,以使所述本地DNS服务器根据所述网络服务器的调度参数对于所述数据请求进行调度。

结合第六方面,本公开实施例在第六方面的第一种实现方式中,所述权威DNS服务器基于所述网络服务器地址和所述网络服务器的调度参数生成反馈报文发送给所述本地DNS服务器之前,还被配置为:

确定获取的网络服务器地址的数量;

所述基于所述网络服务器地址和所述网络服务器的调度参数生成反馈报文发送给所述本地DNS服务器,被实施为:

基于所述网络服务器地址、所述网络服务器的调度参数和所述网络服务器地址的数量生成反馈报文发送给所述本地DNS服务器,以使所述本地DNS服务器根据所述网络服务器地址的数量对于所述反馈报文进行解析。

结合第六方面和第六方面的第一种实现方式,本公开实施例在第六方面的第二种实现方式中,所述本地DNS服务器在根据所述反馈报文对于所述数据请求方的数据请求进行调度之前,还被配置为:

根据所述网络服务器地址的数量对于所述反馈报文进行解析。

结合第六方面、第六方面的第一种实现方式和第六方面的第二种实现方式,本公开在第六方面的第三种实现方式中,所述本地DNS服务器根据所述反馈报文对于所述数据请求方的数据请求进行调度的部分,被配置为:

确定第一分配网络服务器,并获取所述第一分配网络服务器的第一调度参数;

根据所述第一调度参数将所述第一分配网络服务器地址分配给所述数据请求方;

当所述第一分配网络服务器达到满负荷时,确定第二分配网络服务器,并获取所述第二分配网络服务器的第二调度参数;

根据所述第二调度参数将所述第二分配网络服务器地址分配给所述数据请求方,直至分配完毕所述反馈报文中的网络服务器。

结合第六方面、第六方面的第一种实现方式、第六方面的第二种实现方式和第六方面的第三种实现方式,本公开在第六方面的第四种实现方式中,所述本地DNS服务器还被配置为:

对于所述数据请求和反馈报文进行缓存,在缓存有效时间内,当接收到数据请求方发送的与缓存数据请求具有同样的目标请求域名信息的数据请求时,将缓存的与所述缓存数据请求的目标请求域名信息对应的网络服务器地址发送给所述数据请求方。

结合第六方面、第六方面的第一种实现方式、第六方面的第二种实现方式、第六方面的第三种实现方式和第六方面的第四种实现方式,本公开在第六方面的第五种实现方式中,所述网络服务器地址为内容分发网络节点IP地址。

结合第六方面、第六方面的第一种实现方式、第六方面的第二种实现方式、第六方面的第三种实现方式、第六方面的第四种实现方式和第六方面的第五种实现方式,本公开在第六方面的第六种实现方式中,所述调度参数为负载权重。

第七方面,本公开实施例提供了一种电子设备,包括存储器和处理器,所述存储器用于存储一条或多条支持数据请求负载调度装置执行上述数据请求负载调度方法的计算机指令,所述处理器被配置为用于执行所述存储器中存储的计算机指令。所述数据请求负载调度装置还可以包括通信接口,用于数据请求负载调度装置与其他设备或通信网络通信。

第八方面,本公开实施例提供了一种计算机可读存储介质,用于存储数据请求负载调度装置所用的计算机指令,其包含用于执行上述数据请求负载调度方法为数据请求负载调度装置所涉及的计算机指令。

本公开实施例提供的技术方案可包括以下有益效果:

上述技术方案将获取的与本地DNS服务器转发的数据请求中的目标请求域名信息对应的网络服务器地址,以及网络服务器的调度参数一并发送给本地DNS服务器,从而使得所述本地DNS服务器能够根据所述网络服务器的调度参数对于其接收到的数据请求进行调度。该技术方案借助网络服务器调度参数的发送,实现了在所述本地DNS服务器处的基于用户的调度,从而能够有效增强CDN调度的精细度,提高数据请求负载调度的效率和质量。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开实施例。

附图说明

结合附图,通过以下非限制性实施方式的详细描述,本公开实施例的其它特征、目的和优点将变得更加明显。在附图中:

图1示出根据本公开一实施方式的数据请求负载调度方法的流程图;

图2示出根据本公开另一实施方式的数据请求负载调度方法的流程图;

图3示出根据本公开再一实施方式的数据请求负载调度方法的流程图;

图4示出根据本公开一实施方式的数据请求负载调度方法的应用示意图;

图5示出根据本公开一实施方式的数据请求负载调度装置的结构框图;

图6示出根据本公开另一实施方式的数据请求负载调度装置的结构框图;

图7示出根据本公开再一实施方式的数据请求负载调度装置的结构框图;

图8是适于用来实现根据本公开一实施方式的数据请求负载调度方法的计算机系统的结构示意图。

具体实施方式

下文中,将参考附图详细描述本公开实施例的示例性实施方式,以使本领域技术人员可容易地实现它们。此外,为了清楚起见,在附图中省略了与描述示例性实施方式无关的部分。

在本公开实施例中,应理解,诸如“包括”或“具有”等的术语旨在指示本说明书中所公开的特征、数字、步骤、行为、部件、部分或其组合的存在,并且不欲排除一个或多个其他特征、数字、步骤、行为、部件、部分或其组合存在或被添加的可能性。

另外还需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开实施例。

本公开实施例提供的技术方案将获取的与本地DNS服务器转发的数据请求中的目标请求域名信息对应的网络服务器地址,以及网络服务器的调度参数一并发送给本地DNS服务器,从而使得所述本地DNS服务器能够根据所述网络服务器的调度参数对于其接收到的数据请求进行调度。该技术方案借助网络服务器调度参数的发送,实现了在所述本地DNS服务器处的基于用户的调度,从而能够有效增强CDN调度的精细度,提高数据请求负载调度的效率和质量。

图1示出根据本公开一实施方式的数据请求负载调度方法的流程图,如图1所示,所述数据请求负载调度方法包括以下步骤S101-S103:

在步骤S101中,接收本地DNS服务器发送的数据请求,其中,所述数据请求的数量为一个或多个,所述数据请求携带有目标请求域名信息;

在步骤S102中,根据所述数据请求获取与所述目标请求域名信息对应的网络服务器地址;

在步骤S103中,获取所述网络服务器的调度参数,并基于所述网络服务器地址和所述网络服务器的调度参数生成反馈报文发送给所述本地DNS服务器,以使所述本地DNS服务器根据所述网络服务器的调度参数对于所述数据请求进行调度。

上文提及,随着数据技术的发展,为了使得用户更快更准确地获取想要访问的数据,CDN(Content Delivery Network,内容分发网络)应运而生,为了均衡CDN节点的数据流量和负载,需要对于CDN实施调度。目前CDN调度主要是基于DNS服务器数据实现流量负载均衡,但由于用户的数据请求需要经过Local DNS服务器才能传递至权威服务器,因此只能基于Local DNS服务器生成的数据请求进行调度,而无法实现基于用户的调度,从而使得所述CDN调度缺失一定的精细度。

考虑到上述问题,在该实施方式中,提出一种数据请求负载调度方法,该方法将获取的与本地DNS服务器转发的数据请求中的目标请求域名信息对应的网络服务器地址,以及网络服务器的调度参数一并发送给本地DNS服务器,从而使得所述本地DNS服务器能够根据所述网络服务器的调度参数对于其接收到的数据请求进行调度。该技术方案借助网络服务器调度参数的发送,实现了在所述本地DNS服务器处的基于用户的调度,从而能够有效增强CDN调度的精细度,提高数据请求负载调度的效率和质量。

在该实施方式中,所述数据请求负载调度方法适用于权威DNS服务器或者其他可以与本地DNS服务器进行通信、能够获取与目标请求域名对应的网络服务器地址的服务器。为了方便描述,下文以权威DNS服务器为例进行解释和说明。

在本公开一实施方式中,所述数据请求指的是域名系统(DNS)中由数据请求方发出的、至少携带有所述数据请求方想要访问的目标请求域名信息的、想要获取与所述目标请求域名信息对应的网络服务器地址的域名数据请求。其中,所述数据请求的数量可以为一个也可以为多个。在本公开一实施方式中,所述网络服务器地址比如可以为内容分发网络节点IP地址等网络服务器IP地址,所述服务器可以包括物理服务器,或者基于虚拟机、容器等的虚拟服务器,还可以包括服务器集群。

在本公开一实施方式中,所述数据请求方,也可以叫做域名数据请求方,指的是发出所述域名数据请求的一方,比如所述数据请求方可以为计算机,也可以为手机等手持设备,还可以为其他能够发出域名数据请求的设备。

在本公开一实施方式中,所述本地DNS服务器指的是域名系统中用于与所述域名数据请求方进行通信,接收所述域名数据请求方发送的域名数据请求,并且与上一级DNS服务器,即得到授权的权威DNS服务器进行通信,将所述域名数据请求方发送的域名数据请求转发给所述权威DNS服务器的服务器,其中,所述域名数据请求中至少携带有所述域名数据请求方想要访问的目标请求域名信息域名数据请求。

在本公开一实施方式中,所述权威DNS服务器指的是域名系统中用于与所述本地DNS服务器进行通信的经过授权的DNS服务器,所述权威DNS服务器对于所述本地DNS服务器发送的域名数据请求进行处理,将其转换为与所述目标请求域名信息对应的网络服务器地址,并将转换得到的网络服务器地址返回给所述本地DNS服务器,由所述本地DNS服务器再返回给所述域名数据请求方,使得所述域名数据请求方能够根据接收到的所述网络服务器地址基于HTTP协议直接访问与该IP地址对应的网络服务器,以获取其想要的数据。由于所述权威DNS服务器是经过授权的DNS服务器,因此,所述权威DNS服务器中存储有或者有能力,比如借助与网络服务器的通信,获取不同域名与对应网络服务器地址之间的映射关系。

其中,所述调度参数指的是能够辅助执行调度操作的、有利于改善调度结果的参数,在本公开一实施方式中,所述调度参数为负载权重,所述负载权重用于指示所述网络服务器能够承受的数据连接的多少,比如,若所述网络服务器的负载权重为100,这就意味着该网络服务器最多能够承受100条数据连接和数据传输,即最多能够与100个数据请求方建立数据连接并传输数据。在本公开一实施方式中,所述网络服务器的调度参数可预先存储在所述权威DNS服务器中。

在本公开一实施方式中,在根据接收到的数据请求获取得到与数据请求中的目标请求域名信息对应的网络服务器地址之后,就可以获取所述网络服务器的调度参数,并基于所述网络服务器地址和所述网络服务器的调度参数,按照预设通信协议的规定生成反馈报文发送给所述本地DNS服务器,以使所述本地DNS服务器根据所述网络服务器的调度参数对于所述数据请求方的数据请求进行调度。其中,所述预设通信协议比如可以为EDNS(增强DNS)协议,所述EDNS协议可支持扩展字段的增加,从而能够发送更多的有用信息。这样,所述本地DNS服务器就可以实现基于用户的平滑调度,从而能够有效增强CDN(ContentDelivery Network,内容分发网络)调度的精细度,增强系统稳定性。

在本公开一实施方式中,所述EDNS协议还能够借助其支持的自定义编码方式增加所述权威DNS服务器单次能够返回的IP地址的数量。比如,在现有技术中,由于受DNS报文大小的限制,权威DNS服务器每次通常只能返回给本地DNS服务器16个IP地址,而在本实施方式中,借助EDNS协议能够支持的自定义编码,所述权威DNS服务器每次能够返回的IP地址数量为网络服务器的数量*每个网络服务器对应的IP地址的数量,假设网络服务器的数量仍为16,每个网络服务器对应的IP地址的数量为2,则所述权威DNS服务器每次能够返回的IP地址数量为16*2=32。

在本公开一实施方式中,所述数据请求和反馈报文均是基于预设命令发送的,所述预设命令比如可以为dig命令,借助所述dig命令,使得所述反馈报文中能够基于EDNS协议携带有所述调度参数。

在本公开一实施方式中,在所述步骤S103中基于所述网络服务器地址和所述网络服务器的调度参数生成反馈报文发送给所述本地DNS服务器的步骤之前,还包括:

确定获取的网络服务器地址的数量;

所述基于所述网络服务器地址和所述网络服务器的调度参数生成反馈报文发送给所述本地DNS服务器,被实施为:

基于所述网络服务器地址、所述网络服务器的调度参数和所述网络服务器地址的数量生成反馈报文发送给所述本地DNS服务器,以使所述本地DNS服务器根据所述网络服务器地址的数量对于所述反馈报文进行解析。

为了帮助所述本地DNS服务器对于所述反馈报文进行正确地解析,以得到正确的、全部的网络服务器地址,避免出现解析得到的网络服务器地址信息丢失、数量缺失等情况,所述权威DNS服务器在得到与所述数据请求中的目标请求域名信息对应的网络服务器地址之后,还确定所述网络服务器地址的数量,并将所述网络服务器地址的数量连同所述网络服务器地址、所述网络服务器的调度参数一并生成反馈报文,发送给所述本地DNS服务器。其中,所述反馈报文是按照所述预设通信协议的规定得到的,并且具有预设的报文格式。

图2示出根据本公开另一实施方式的数据请求负载调度方法的流程图,如图2所示,所述数据请求负载调度方法包括以下步骤S201-S203:

在步骤S201中,接收数据请求方发送的数据请求,其中,所述数据请求的数量为一个或多个,所述数据请求携带有目标请求域名信息;

在步骤S202中,基于预设命令将所述数据请求发送给权威DNS服务器,以使所述权威DNS服务器根据所述数据请求获取与所述目标请求域名信息对应的网络服务器地址;

在步骤S203中,接收并解析所述权威DNS服务器发送的反馈报文,并根据所述反馈报文对于所述数据请求方的数据请求进行调度,其中,所述反馈报文包括与所述目标请求域名信息对应的网络服务器地址以及所述网络服务器的调度参数。

上文提及,随着数据技术的发展,为了使得用户更快更准确地获取想要访问的数据,CDN应运而生,为了均衡CDN节点的数据流量和负载,需要对于CDN实施调度。目前CDN调度主要是基于DNS服务器数据实现流量负载均衡,但由于用户的数据请求需要经过LocalDNS服务器才能传递至权威服务器,因此只能基于Local DNS服务器生成的数据请求进行调度,而无法实现基于用户的调度,从而使得所述CDN调度缺失一定的精细度。

考虑到上述问题,在该实施方式中,提出一种数据请求负载调度方法,该方法根据接收到的与数据请求方发送的数据请求中的目标请求域名信息对应的网络服务器地址、以及网络服务器的调度参数对于所述数据请求进行调度。该技术方案借助网络服务器调度参数的发送,实现了在所述本地DNS服务器处的基于用户的调度,从而能够有效增强CDN调度的精细度,提高数据请求负载调度的效率和质量。

在该实施方式中,所述数据请求负载调度方法适用于本地DNS服务器或者其他可以与权威DNS服务器进行通信,以借助所述权威DNS服务器获取与目标请求域名对应的网络服务器地址的服务器。为了方便描述,下文以本地DNS服务器为例进行解释和说明。

在该实施方式中,所述本地DNS服务器将接收到的数据请求方发送的数据请求转发给权威DNS服务器,使得所述权威DNS服务器能够根据所述数据请求获取与所述目标请求域名信息对应的网络服务器地址,并将基于网络服务器地址和所述网络服务器的调度参数生成的反馈报文发送给所述本地DNS服务器,所述本地DNS服务器接收到所述反馈报文之后对其进行解析,并根据解析得到的所述网络服务器的调度参数和网络服务器地址对于所述数据请求方的数据请求进行调度和网络服务器地址的分配,使得所述数据请求方能够基于HTTP协议根据分配的网络服务器地址访问相应的网络服务器,获取其想要的数据。

在本公开一实施方式中,所述网络服务器地址可以为内容分发网络节点IP地址等网络服务器IP地址,所述服务器可以包括物理服务器,或者基于虚拟机、容器等的虚拟服务器,还可以包括服务器集群。

在本公开一实施方式中,所述调度参数为负载权重。

在该实施方式中,所述步骤S203中根据所述反馈报文对于所述数据请求方的数据请求进行调度的步骤,可被实施为:

确定第一分配网络服务器,并获取所述第一分配网络服务器的第一调度参数;

根据所述第一调度参数将所述第一分配网络服务器地址分配给所述数据请求方;

当所述第一分配网络服务器达到满负荷时,确定第二分配网络服务器,并获取所述第二分配网络服务器的第二调度参数;

根据所述第二调度参数将所述第二分配网络服务器地址分配给所述数据请求方,直至分配完毕所述反馈报文中的网络服务器。

在该实施方式中,为了对于所述数据请求方进行准确的、精细化的调度,首先确定先行分配给数据请求方的第一分配网络服务器,以及所述第一分配网络服务器的第一调度参数,然后判断所述第一分配网络服务器的数据连接是否达到满负荷,若没有,则将所述第一分配网络服务器地址分配给所述数据请求方,直至达到所述第一分配网络服务器的满负荷,再按照上述过程确定第二分配网络服务器,获取所述第二分配网络服务器的第二调度参数,根据所述第二调度参数将所述第二分配网络服务器地址分配给所述数据请求方,直至分配完毕所述反馈报文中携带的网络服务器。这样借助负载权重,就可以实现对于数据请求负载的、基于用户的精细平滑调度,同时还有利于增强系统的稳定性。

比如,若所述反馈报文中包括网络服务器A和网络服务器B两个网络服务器,其中,网络服务器A的IP地址为IP_A1和IP_A2,负载权重为100,网络服务器B的IP地址为IP_B1和IP_B2,负载权重为10,那么本地DNS服务器可将网络服务器A的IP地址IP_A1和IP_A2分配给前100个数据请求方,将网络服务器B的IP地址IP_B1和IP_B2分配给后续的数据请求方,直至达到所述网络服务器B的满负荷。

在本公开一实施方式中,所述网络服务器的分配顺序可根据实际应用的需要进行设置,比如可将其设置为数据请求的产生顺序,即按照数据请求产生的先后顺序为其分配网络服务器,当然也可采用其他顺序,本公开对其不作具体限定。

在本公开一实施方式中,所述反馈报文中还包括所述网络服务器地址的数量。

在该实施方式中,所述步骤S203中根据所述反馈报文对于所述数据请求方的数据请求进行调度的步骤之前,还包括:

根据所述网络服务器地址的数量对于所述反馈报文进行解析。

为了对于所述反馈报文进行正确地解析,以得到正确的、全部的网络服务器地址,避免出现解析得到的网络服务器地址信息丢失、数量缺失等情况,所述权威DNS服务器还将所述网络服务器地址的数量与所述网络服务器地址和所述网络服务器的调度参数一并加入至所述反馈报文中,即,所述反馈报文除了包括与所述目标请求域名信息对应的网络服务器地址以及所述网络服务器的调度参数之外,还所述网络服务器地址的数量。这样,所述本地DNS服务器在接收到所述权威DNS服务器发送的反馈报文后,就可以根据预设通信协议的规定、预设的报文格式提取出所述网络服务器地址的数量,并进一步根据所述网络服务器地址的数量对于所述反馈报文继续解析,最终得到全部的所述网络服务器地址以及所述网络服务器的调度参数。

在本公开一实施方式中,所述方法还包括:

对于所述数据请求和反馈报文进行缓存,在缓存有效时间内,当接收到数据请求方发送的与缓存数据请求具有同样的目标请求域名信息的数据请求时,将缓存的与所述缓存数据请求的目标请求域名信息对应的网络服务器地址发送给所述数据请求方。

在该实施方式中,所述本地DNS服务器具有数据缓存能力,可对于接收到的所述数据请求和反馈报文进行缓存,因此,在所述数据请求和反馈报文的缓存有效时间内,当接收到数据请求方发送的与缓存数据请求具有同样的目标请求域名信息的数据请求时,可将其缓存的与所述缓存数据请求的目标请求域名信息对应的网络服务器地址直接发送给所述数据请求方,而无需向所述权威DNS服务器索取。

图2所示实施例中涉及的技术术语和技术特征与上述图1所示实施例中提及的技术术语和技术特征相同或相似,对于相应的技术术语和技术特征,可参考上文对于图1所示实施例的解释和说明,本公开在此不再赘述。

图3示出根据本公开再一实施方式的数据请求负载调度方法的流程图,如图3所示,所述数据请求负载调度方法包括以下步骤S301-S303:

在步骤S301中,本地DNS服务器接收数据请求方发送的数据请求,并基于预设命令将所述数据请求发送给权威DNS服务器,以使所述权威DNS服务器根据所述数据请求获取与所述目标请求域名信息对应的网络服务器地址,其中,所述数据请求的数量为一个或多个,所述数据请求携带有目标请求域名信息;

在步骤S302中,所述权威DNS服务器接收所述本地DNS服务器发送的数据请求,根据所述数据请求获取与所述目标请求域名信息对应的网络服务器地址,获取所述网络服务器的调度参数,并基于所述网络服务器地址和所述网络服务器的调度参数生成反馈报文发送给所述本地DNS服务器,以使所述本地DNS服务器根据所述网络服务器的调度参数对于所述数据请求进行调度;

在步骤S303中,所述本地DNS服务器接收并解析所述权威DNS服务器发送的反馈报文,并根据所述反馈报文对于所述数据请求方的数据请求进行调度,其中,所述反馈报文包括与所述目标请求域名信息对应的网络服务器地址以及所述网络服务器的调度参数。

上文提及,随着数据技术的发展,为了使得用户更快更准确地获取想要访问的数据,CDN应运而生,为了均衡CDN节点的数据流量和负载,需要对于CDN实施调度。目前CDN调度主要是基于DNS服务器数据实现流量负载均衡,但由于用户的数据请求需要经过LocalDNS服务器才能传递至权威服务器,因此只能基于Local DNS服务器生成的数据请求进行调度,而无法实现基于用户的调度,从而使得所述CDN调度缺失一定的精细度。

考虑到上述问题,在该实施方式中,提出一种数据请求负载调度方法,该方法中,权威DNS服务器将获取的与本地DNS服务器转发的数据请求中的目标请求域名信息对应的网络服务器地址,以及网络服务器的调度参数一并发送给本地DNS服务器,从而使得所述本地DNS服务器能够根据所述网络服务器的调度参数对于其接收到的数据请求进行调度。该技术方案借助网络服务器调度参数的发送,实现了在所述本地DNS服务器处的基于用户的调度,从而能够有效增强CDN调度的精细度,提高数据请求负载调度的效率和质量。

在该实施方式中,所述数据请求负载调度方法适用于包括本地DNS服务器和权威DNS服务器的数据请求负载调度系统。

在本公开一实施方式中,所述权威DNS服务器基于所述网络服务器地址和所述网络服务器的调度参数生成反馈报文发送给所述本地DNS服务器之前,还包括:

确定获取的网络服务器地址的数量;

所述基于所述网络服务器地址和所述网络服务器的调度参数生成反馈报文发送给所述本地DNS服务器,被实施为:

基于所述网络服务器地址、所述网络服务器的调度参数和所述网络服务器地址的数量生成反馈报文发送给所述本地DNS服务器,以使所述本地DNS服务器根据所述网络服务器地址的数量对于所述反馈报文进行解析。

在本公开一实施方式中,所述本地DNS服务器在根据所述反馈报文对于所述数据请求方的数据请求进行调度之前,还包括:

根据所述网络服务器地址的数量对于所述反馈报文进行解析。

在本公开一实施方式中,所述网络服务器地址可以为内容分发网络节点IP地址等网络服务器IP地址,所述服务器可以包括物理服务器,或者基于虚拟机、容器等的虚拟服务器,还可以包括服务器集群。

在本公开一实施方式中,所述调度参数为负载权重。

在该实施方式中,所述本地DNS服务器根据所述反馈报文对于所述数据请求方的数据请求进行调度,被实施为:

确定第一分配网络服务器,并获取所述第一分配网络服务器的第一调度参数;

根据所述第一调度参数将所述第一分配网络服务器地址分配给所述数据请求方;

当所述第一分配网络服务器达到满负荷时,确定第二分配网络服务器,并获取所述第二分配网络服务器的第二调度参数;

根据所述第二调度参数将所述第二分配网络服务器地址分配给所述数据请求方,直至分配完毕所述反馈报文中的网络服务器。

在本公开一实施方式中,还包括:

所述本地DNS服务器对于所述数据请求和反馈报文进行缓存,在缓存有效时间内,当接收到数据请求方发送的与缓存数据请求具有同样的目标请求域名信息的数据请求时,将缓存的与所述缓存数据请求的目标请求域名信息对应的网络服务器地址发送给所述数据请求方。

图3所示实施例中涉及的技术术语和技术特征与上述图1-图2所示实施例中提及的技术术语和技术特征相同或相似,对于相应的技术术语和技术特征,可参考上文对于图1-图2所示实施例的解释和说明,本公开在此不再赘述。

图4示出根据本公开一实施方式的数据请求负载调度方法的应用示意图,如图4所示,数据请求方1和数据请求方2分别向本地DNS服务器发送DNS数据请求,所述本地DNS服务器将接收到的DNS数据请求转发给权威DNS服务器,其中,所述DNS数据请求携带有目标请求域名信息;所述权威DNS服务器根据接收到的DNS数据请求获取与所述目标请求域名信息对应的CDN节点的IP地址,获取所述CDN节点的负载权重,并基于所述CDN节点的IP地址和所述CDN节点的负载权重生成反馈报文借助DNS响应发送给所述本地DNS服务器;所述本地DNS服务器接收并解析所述权威DNS服务器发送的反馈报文,并根据所述反馈报文对于所述数据请求方的DNS数据请求进行调度。之后,所述数据请求方就可以根据分配得到的CDN节点的IP地址基于HTTP协议访问与该IP地址对应的CDN节点,借助HTTP响应获取数据。

下述为本公开装置实施例,可以用于执行本公开方法实施例。

图5示出根据本公开一实施方式的数据请求负载调度装置的结构框图,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图5所示,所述数据请求负载调度装置包括:

第一接收模块501,被配置为接收本地DNS服务器发送的数据请求,其中,所述数据请求的数量为一个或多个,所述数据请求携带有目标请求域名信息;

获取模块502,被配置为根据所述数据请求获取与所述目标请求域名信息对应的网络服务器地址;

生成模块503,被配置为获取所述网络服务器的调度参数,并基于所述网络服务器地址和所述网络服务器的调度参数生成反馈报文发送给所述本地DNS服务器,以使所述本地DNS服务器根据所述网络服务器的调度参数对于所述数据请求进行调度。

上文提及,随着数据技术的发展,为了使得用户更快更准确地获取想要访问的数据,CDN(Content Delivery Network,内容分发网络)应运而生,为了均衡CDN节点的数据流量和负载,需要对于CDN实施调度。目前CDN调度主要是基于DNS服务器数据实现流量负载均衡,但由于用户的数据请求需要经过Local DNS服务器才能传递至权威服务器,因此只能基于Local DNS服务器生成的数据请求进行调度,而无法实现基于用户的调度,从而使得所述CDN调度缺失一定的精细度。

考虑到上述问题,在该实施方式中,提出一种数据请求负载调度装置,该装置将获取的与本地DNS服务器转发的数据请求中的目标请求域名信息对应的网络服务器地址,以及网络服务器的调度参数一并发送给本地DNS服务器,从而使得所述本地DNS服务器能够根据所述网络服务器的调度参数对于其接收到的数据请求进行调度。该技术方案借助网络服务器调度参数的发送,实现了在所述本地DNS服务器处的基于用户的调度,从而能够有效增强CDN调度的精细度,提高数据请求负载调度的效率和质量。

在该实施方式中,所述数据请求负载调度装置可实现为权威DNS服务器或者其他可以与本地DNS服务器进行通信、能够获取与目标请求域名对应的网络服务器地址的服务器。为了方便描述,下文以权威DNS服务器为例进行解释和说明。

在本公开一实施方式中,所述数据请求指的是域名系统(DNS)中由数据请求方发出的、至少携带有所述数据请求方想要访问的目标请求域名信息的、想要获取与所述目标请求域名信息对应的网络服务器地址的域名数据请求。其中,所述数据请求的数量可以为一个也可以为多个。在本公开一实施方式中,所述网络服务器地址比如可以为内容分发网络节点IP地址等网络服务器IP地址,所述服务器可以包括物理服务器,或者基于虚拟机、容器等的虚拟服务器,还可以包括服务器集群。

在本公开一实施方式中,所述数据请求方,也可以叫做域名数据请求方,指的是发出所述域名数据请求的一方,比如所述数据请求方可以为计算机,也可以为手机等手持设备,还可以为其他能够发出域名数据请求的设备。

在本公开一实施方式中,所述本地DNS服务器指的是域名系统中用于与所述域名数据请求方进行通信,接收所述域名数据请求方发送的域名数据请求,并且与上一级DNS服务器,即得到授权的权威DNS服务器进行通信,将所述域名数据请求方发送的域名数据请求转发给所述权威DNS服务器的服务器,其中,所述域名数据请求中至少携带有所述域名数据请求方想要访问的目标请求域名信息域名数据请求。

在本公开一实施方式中,所述权威DNS服务器指的是域名系统中用于与所述本地DNS服务器进行通信的经过授权的DNS服务器,所述权威DNS服务器对于所述本地DNS服务器发送的域名数据请求进行处理,将其转换为与所述目标请求域名信息对应的网络服务器地址,并将转换得到的网络服务器地址返回给所述本地DNS服务器,由所述本地DNS服务器再返回给所述域名数据请求方,使得所述域名数据请求方能够根据接收到的所述网络服务器地址基于HTTP协议直接访问与该IP地址对应的网络服务器,以获取其想要的数据。由于所述权威DNS服务器是经过授权的DNS服务器,因此,所述权威DNS服务器中存储有或者有能力,比如借助与网络服务器的通信,获取不同域名与对应网络服务器地址之间的映射关系。

其中,所述调度参数指的是能够辅助执行调度操作的、有利于改善调度结果的参数,在本公开一实施方式中,所述调度参数为负载权重,所述负载权重用于指示所述网络服务器能够承受的数据连接的多少,比如,若所述网络服务器的负载权重为100,这就意味着该网络服务器最多能够承受100条数据连接和数据传输,即最多能够与100个数据请求方建立数据连接并传输数据。在本公开一实施方式中,所述网络服务器的调度参数可预先存储在所述权威DNS服务器中。

在本公开一实施方式中,在根据接收到的数据请求获取得到与数据请求中的目标请求域名信息对应的网络服务器地址之后,就可以获取所述网络服务器的调度参数,并基于所述网络服务器地址和所述网络服务器的调度参数,按照预设通信协议的规定生成反馈报文发送给所述本地DNS服务器,以使所述本地DNS服务器根据所述网络服务器的调度参数对于所述数据请求方的数据请求进行调度。其中,所述预设通信协议比如可以为EDNS(增强DNS)协议,所述EDNS协议可支持扩展字段的增加,从而能够发送更多的有用信息。这样,所述本地DNS服务器就可以实现基于用户的平滑调度,从而能够有效增强CDN(ContentDelivery Network,内容分发网络)调度的精细度,增强系统稳定性。

在本公开一实施方式中,所述EDNS协议还能够借助其支持的自定义编码方式增加所述权威DNS服务器单次能够返回的IP地址的数量。比如,在现有技术中,由于受DNS报文大小的限制,权威DNS服务器每次通常只能返回给本地DNS服务器16个IP地址,而在本实施方式中,借助EDNS协议能够支持的自定义编码,所述权威DNS服务器每次能够返回的IP地址数量为网络服务器的数量*每个网络服务器对应的IP地址的数量,假设网络服务器的数量仍为16,每个网络服务器对应的IP地址的数量为2,则所述权威DNS服务器每次能够返回的IP地址数量为16*2=32。

在本公开一实施方式中,所述数据请求和反馈报文均是基于预设命令发送的,所述预设命令比如可以为dig命令,借助所述dig命令,使得所述反馈报文中能够基于EDNS协议携带有所述调度参数。

在本公开一实施方式中,在所述生成模块503中基于所述网络服务器地址和所述网络服务器的调度参数生成反馈报文发送给所述本地DNS服务器之前,还被配置为:

确定获取的网络服务器地址的数量;

所述基于所述网络服务器地址和所述网络服务器的调度参数生成反馈报文发送给所述本地DNS服务器,被实施为:

基于所述网络服务器地址、所述网络服务器的调度参数和所述网络服务器地址的数量生成反馈报文发送给所述本地DNS服务器,以使所述本地DNS服务器根据所述网络服务器地址的数量对于所述反馈报文进行解析。

为了帮助所述本地DNS服务器对于所述反馈报文进行正确地解析,以得到正确的、全部的网络服务器地址,避免出现解析得到的网络服务器地址信息丢失、数量缺失等情况,所述权威DNS服务器在得到与所述数据请求中的目标请求域名信息对应的网络服务器地址之后,还确定所述网络服务器地址的数量,并将所述网络服务器地址的数量连同所述网络服务器地址、所述网络服务器的调度参数一并生成反馈报文,发送给所述本地DNS服务器。其中,所述反馈报文是按照所述预设通信协议的规定得到的,并且具有预设的报文格式。

图6示出根据本公开另一实施方式的数据请求负载调度装置的结构框图,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图6所示,所述数据请求负载调度装置包括:

第二接收模块601,被配置为接收数据请求方发送的数据请求,其中,所述数据请求的数量为一个或多个,所述数据请求携带有目标请求域名信息;

发送模块602,被配置为基于预设命令将所述数据请求发送给权威DNS服务器,以使所述权威DNS服务器根据所述数据请求获取与所述目标请求域名信息对应的网络服务器地址;

调度模块603,被配置为接收并解析所述权威DNS服务器发送的反馈报文,并根据所述反馈报文对于所述数据请求方的数据请求进行调度,其中,所述反馈报文包括与所述目标请求域名信息对应的网络服务器地址以及所述网络服务器的调度参数。

上文提及,随着数据技术的发展,为了使得用户更快更准确地获取想要访问的数据,CDN应运而生,为了均衡CDN节点的数据流量和负载,需要对于CDN实施调度。目前CDN调度主要是基于DNS服务器数据实现流量负载均衡,但由于用户的数据请求需要经过LocalDNS服务器才能传递至权威服务器,因此只能基于Local DNS服务器生成的数据请求进行调度,而无法实现基于用户的调度,从而使得所述CDN调度缺失一定的精细度。

考虑到上述问题,在该实施方式中,提出一种数据请求负载调度装置,该装置根据接收到的与数据请求方发送的数据请求中的目标请求域名信息对应的网络服务器地址、以及网络服务器的调度参数对于所述数据请求进行调度。该技术方案借助网络服务器调度参数的发送,实现了在所述本地DNS服务器处的基于用户的调度,从而能够有效增强CDN调度的精细度,提高数据请求负载调度的效率和质量。

在该实施方式中,所述数据请求负载调度装置可实现为本地DNS服务器或者其他可以与权威DNS服务器进行通信,以借助所述权威DNS服务器获取与目标请求域名对应的网络服务器地址的服务器。为了方便描述,下文以本地DNS服务器为例进行解释和说明。

在该实施方式中,所述本地DNS服务器将接收到的数据请求方发送的数据请求转发给权威DNS服务器,使得所述权威DNS服务器能够根据所述数据请求获取与所述目标请求域名信息对应的网络服务器地址,并将基于网络服务器地址和所述网络服务器的调度参数生成的反馈报文发送给所述本地DNS服务器,所述本地DNS服务器接收到所述反馈报文之后对其进行解析,并根据解析得到的所述网络服务器的调度参数和网络服务器地址对于所述数据请求方的数据请求进行调度和网络服务器IP地址的分配,使得所述数据请求方能够基于HTTP协议根据分配的网络服务器IP地址访问相应的网络服务器,获取其想要的数据。

在本公开一实施方式中,所述网络服务器地址可以为内容分发网络节点IP地址等网络服务器IP地址,所述服务器可以包括物理服务器,或者基于虚拟机、容器等的虚拟服务器,还可以包括服务器集群。

在本公开一实施方式中,所述调度参数为负载权重。

在该实施方式中,所述调度模块603中根据所述反馈报文对于所述数据请求方的数据请求进行调度的部分,可被配置为:

确定第一分配网络服务器,并获取所述第一分配网络服务器的第一调度参数;

根据所述第一调度参数将所述第一分配网络服务器地址分配给所述数据请求方;

当所述第一分配网络服务器达到满负荷时,确定第二分配网络服务器,并获取所述第二分配网络服务器的第二调度参数;

根据所述第二调度参数将所述第二分配网络服务器地址分配给所述数据请求方,直至分配完毕所述反馈报文中的网络服务器。

在该实施方式中,为了对于所述数据请求方进行准确的、精细化的调度,首先确定先行分配给数据请求方的第一分配网络服务器,以及所述第一分配网络服务器的第一调度参数,然后判断所述第一分配网络服务器的数据连接是否达到满负荷,若没有,则将所述第一分配网络服务器地址分配给所述数据请求方,直至达到所述第一分配网络服务器的满负荷,再按照上述过程确定第二分配网络服务器,获取所述第二分配网络服务器的第二调度参数,根据所述第二调度参数将所述第二分配网络服务器地址分配给所述数据请求方,直至分配完毕所述反馈报文中携带的网络服务器。这样借助负载权重,就可以实现对于数据请求负载的、基于用户的精细平滑调度,同时还有利于增强系统的稳定性。

比如,若所述反馈报文中包括网络服务器A和网络服务器B两个网络服务器,其中,网络服务器A的IP地址为IP_A1和IP_A2,负载权重为100,网络服务器B的IP地址为IP_B1和IP_B2,负载权重为10,那么本地DNS服务器可将网络服务器A的IP地址IP_A1和IP_A2分配给前100个数据请求方,将网络服务器B的IP地址IP_B1和IP_B2分配给后续的数据请求方,直至达到所述网络服务器B的满负荷。

在本公开一实施方式中,所述网络服务器的分配顺序可根据实际应用的需要进行设置,比如可将其设置为数据请求的产生顺序,即按照数据请求产生的先后顺序为其分配网络服务器,当然也可采用其他顺序,本公开对其不作具体限定。

在本公开一实施方式中,所述反馈报文中还包括所述网络服务器地址的数量。

在该实施方式中,所述调度模块603中根据所述反馈报文对于所述数据请求方的数据请求进行调度之前,还被配置为:

根据所述网络服务器地址的数量对于所述反馈报文进行解析。

为了对于所述反馈报文进行正确地解析,以得到正确的、全部的网络服务器地址,避免出现解析得到的网络服务器地址信息丢失、数量缺失等情况,所述权威DNS服务器还将所述网络服务器地址的数量与所述网络服务器地址和所述网络服务器的调度参数一并加入至所述反馈报文中,即,所述反馈报文除了包括与所述目标请求域名信息对应的网络服务器地址以及所述网络服务器的调度参数之外,还所述网络服务器地址的数量。这样,所述本地DNS服务器在接收到所述权威DNS服务器发送的反馈报文后,就可以根据预设通信协议的规定、预设的报文格式提取出所述网络服务器地址的数量,并进一步根据所述网络服务器地址的数量对于所述反馈报文继续解析,最终得到全部的所述网络服务器地址以及所述网络服务器的调度参数。

在本公开一实施方式中,所述装置还包括:

缓存模块,被配置为对于所述数据请求和反馈报文进行缓存,在缓存有效时间内,当接收到数据请求方发送的与缓存数据请求具有同样的目标请求域名信息的数据请求时,将缓存的与所述缓存数据请求的目标请求域名信息对应的网络服务器地址发送给所述数据请求方。

在该实施方式中,所述本地DNS服务器具有数据缓存能力,可对于接收到的所述数据请求和反馈报文进行缓存,因此,在所述数据请求和反馈报文的缓存有效时间内,当接收到数据请求方发送的与缓存数据请求具有同样的目标请求域名信息的数据请求时,可将其缓存的与所述缓存数据请求的目标请求域名信息对应的网络服务器地址直接发送给所述数据请求方,而无需向所述权威DNS服务器索取。

图6所示实施例中涉及的技术术语和技术特征与上述图5所示实施例中提及的技术术语和技术特征相同或相似,对于相应的技术术语和技术特征,可参考上文对于图6所示实施例的解释和说明,本公开在此不再赘述。

图7示出根据本公开再一实施方式的数据请求负载调度装置的结构框图,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图7所示,所述数据请求负载调度装置包括:

本地DNS服务器701,被配置为接收数据请求方发送的数据请求,并基于预设命令将所述数据请求发送给权威DNS服务器,以使所述权威DNS服务器根据所述数据请求获取与所述目标请求域名信息对应的网络服务器地址,接收并解析所述权威DNS服务器发送的反馈报文,并根据所述反馈报文对于所述数据请求方的数据请求进行调度,其中,所述数据请求的数量为一个或多个,所述数据请求携带有目标请求域名信息,所述反馈报文包括与所述目标请求域名信息对应的网络服务器地址以及所述网络服务器的调度参数;

权威DNS服务器702,被配置为接收所述本地DNS服务器发送的数据请求,根据所述数据请求获取与所述目标请求域名信息对应的网络服务器地址,获取所述网络服务器的调度参数,并基于所述网络服务器地址和所述网络服务器的调度参数生成反馈报文发送给所述本地DNS服务器,以使所述本地DNS服务器根据所述网络服务器的调度参数对于所述数据请求进行调度。

上文提及,随着数据技术的发展,为了使得用户更快更准确地获取想要访问的数据,CDN应运而生,为了均衡CDN节点的数据流量和负载,需要对于CDN实施调度。目前CDN调度主要是基于DNS服务器数据实现流量负载均衡,但由于用户的数据请求需要经过LocalDNS服务器才能传递至权威服务器,因此只能基于Local DNS服务器生成的数据请求进行调度,而无法实现基于用户的调度,从而使得所述CDN调度缺失一定的精细度。

考虑到上述问题,在该实施方式中,提出一种数据请求负载调度装置,该装置中,权威DNS服务器将获取的与本地DNS服务器转发的数据请求中的目标请求域名信息对应的网络服务器地址,以及网络服务器的调度参数一并发送给本地DNS服务器,从而使得所述本地DNS服务器能够根据所述网络服务器的调度参数对于其接收到的数据请求进行调度。该技术方案借助网络服务器调度参数的发送,实现了在所述本地DNS服务器处的基于用户的调度,从而能够有效增强CDN调度的精细度,提高数据请求负载调度的效率和质量。

在该实施方式中,所述数据请求负载调度装置可实现为包括本地DNS服务器和权威DNS服务器的数据请求负载调度系统。

在本公开一实施方式中,所述权威DNS服务器基于所述网络服务器地址和所述网络服务器的调度参数生成反馈报文发送给所述本地DNS服务器之前,还被配置为:

确定获取的网络服务器地址的数量;

所述基于所述网络服务器地址和所述网络服务器的调度参数生成反馈报文发送给所述本地DNS服务器,被实施为:

基于所述网络服务器地址、所述网络服务器的调度参数和所述网络服务器地址的数量生成反馈报文发送给所述本地DNS服务器,以使所述本地DNS服务器根据所述网络服务器地址的数量对于所述反馈报文进行解析。

在本公开一实施方式中,所述本地DNS服务器在根据所述反馈报文对于所述数据请求方的数据请求进行调度之前,还被配置为:

根据所述网络服务器地址的数量对于所述反馈报文进行解析。

在本公开一实施方式中,所述网络服务器地址可以为内容分发网络节点IP地址等网络服务器IP地址,所述服务器可以包括物理服务器,或者基于虚拟机、容器等的虚拟服务器,还可以包括服务器集群。

在本公开一实施方式中,所述调度参数为负载权重。

在该实施方式中,所述本地DNS服务器根据所述反馈报文对于所述数据请求方的数据请求进行调度的部分,被配置为:

确定第一分配网络服务器,并获取所述第一分配网络服务器的第一调度参数;

根据所述第一调度参数将所述第一分配网络服务器地址分配给所述数据请求方;

当所述第一分配网络服务器达到满负荷时,确定第二分配网络服务器,并获取所述第二分配网络服务器的第二调度参数;

根据所述第二调度参数将所述第二分配网络服务器地址分配给所述数据请求方,直至分配完毕所述反馈报文中的网络服务器。

在本公开一实施方式中,所述本地DNS服务器还被配置为:

对于所述数据请求和反馈报文进行缓存,在缓存有效时间内,当接收到数据请求方发送的与缓存数据请求具有同样的目标请求域名信息的数据请求时,将缓存的与所述缓存数据请求的目标请求域名信息对应的网络服务器地址发送给所述数据请求方。

图7所示实施例中涉及的技术术语和技术特征与上述图5-图6所示实施例中提及的技术术语和技术特征相同或相似,对于相应的技术术语和技术特征,可参考上文对于图5-图6所示实施例的解释和说明,本公开在此不再赘述。

本公开实施例还公开了一种电子设备,所述电子设备包括存储器和处理器;其中,

所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现上述任一方法步骤。

图8是适于用来实现根据本公开一实施方式的数据请求负载调度方法的计算机系统的结构示意图。

如图8所示,计算机系统800包括处理单元801,其可以根据存储在只读存储器(ROM)802中的程序或者从存储部分808加载到随机访问存储器(RAM)803中的程序而执行上述实施方式中的各种处理。在RAM803中,还存储有系统800操作所需的各种程序和数据。处理单元801、ROM802以及RAM803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。

以下部件连接至I/O接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至I/O接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。其中,所述处理单元801可实现为CPU、GPU、TPU、FPGA、NPU等处理单元。

特别地,根据本公开的实施方式,上文描述的方法可以被实现为计算机软件程序。例如,本公开的实施方式包括一种计算机程序产品,其包括有形地包含在及其可读介质上的计算机程序,所述计算机程序包含用于执行所述数据请求负载调度方法的程序代码。在这样的实施方式中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。

附图中的流程图和框图,图示了按照本公开各种实施方式的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,路程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本公开实施方式中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。

作为另一方面,本公开实施例还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施方式中所述装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,所述程序被一个或者一个以上的处理器用来执行描述于本公开实施例的方法。

以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开实施例中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开实施例中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

相关技术
  • 数据请求负载调度方法、装置、电子设备及可读存储介质
  • 集群负载资源调度方法、装置、电子设备及可读存储介质
技术分类

06120113251925