数据资源回源方法及装置与流程

文档序号:20009235发布日期:2020-02-22 03:54阅读:272来源:国知局
数据资源回源方法及装置与流程

本发明涉及计算机技术领域,特别是涉及一种数据资源回源方法及装置。



背景技术:

在内容分发网络(contentdeliverynetwork,cdn)系统中,存在多个存储数据资源的缓存服务器,每个服务器按照本地对各个数据资源需求的热度存储对应的数据资源。当cdn系统中,任意的服务器在接收到资源请求但并未存储与该资源资源请求对应的数据资源时,需要对该数据资源进行回源,即,从其他的上游服务器获取该数据资源。

在现有技术的数据资源回源方法中,主要是经由源站或中心节点向cdn系统中的各个上游服务器发送回源请求,并在请求数据资源回源的过程中,需一层层请求各个上游服务器,直至确定当前请求的上游服务器存储该数据资源。当经过多层回源请求后,由上游服务器返回数据资源时,都需要按照原请求路径逐层返回数据资源,且经由每层上游服务器返回数据资源时,都要占用一定的进出口带宽,层数越多,占用的进出口带宽越多,导致消耗的流量增多。



技术实现要素:

有鉴于此,本发明提供一种数据资源回源方法,通过该方法,可以优化数据资源回源时的路径,无需按照原请求路径返回数据资源,避免占用过多的进出口带宽,减少流量消耗。

本发明还提供了一种数据资源回源装置,用以保证上述方法在实际中的实现及应用。

一种数据资源回源方法,包括:

当检测到目标服务器接收到资源请求时,判断所述目标服务器中是否存储有与所述资源请求对应的待获取数据资源;

若所述目标服务器中未存储所述待获取数据资源,将所述资源请求转发至与所述目标服务器存在关联关系的各个回源服务器,并获取成功响应所述资源请求的各个回源服务器返回的回源信息;

将获取的各个回源服务器反馈的回源信息,输入预先训练完成的机器学习模型中,触发所述机器学习模型依据每个所述回源信息,计算每个所述回源服务器返回所述待获取数据资源时的回源速度;

将回源速度最大的回源服务器确定为目标回源服务器,并依据所述目标回源服务器返回的回源信息,确定所述目标回源服务器与所述目标服务器之间的最短回源路径,并触发所述目标回源服务器通过所述最短回源路径,向所述目标服务器返回所述待获取数据资源。

上述的方法,可选的,所述将所述资源请求转发至与所述目标服务器存在关联关系的各个回源服务器,并获取成功响应所述资源请求的各个回源服务器返回的回源信息,包括:

确定所述目标服务器的各个回源路径,每个所述回源路径上依次设置有多个回源服务器;

在每个所述回源路径中,判断已接收到所述资源请求的当前回源服务器中,是否存储有所述待获取数据资源,若所述当前回源服务器中未存储所述待获取数据资源,则将所述资源请求转发至所述当前回源服务器的下一个回源服务器中,直至在该回源路径中确定成功响应所述资源请求的回源服务器;

当在各个所述回源路径中,确定首个成功响应所述资源请求的回源服务器时,启动预设的计时器进行计时,并当计时达到预设时间阈值时,停止各个回源路径中资源请求的转发过程;

获取当前已成功响应所述资源请求的各个回源服务器返回的回源信息。

上述的方法,可选的,所述确定所述目标服务器的各个回源路径,包括:

获取所述目标服务器相邻的各个上游服务器的各个历史回源信息,并依据每个所述上游服务器的各个历史回源信息,确定每个所述上游服务器的平均历史回源信息;

将每个所述上游服务器的平均历史回源信息输入所述机器学习模型中,触发所述机器学习模型输出每个所述上游服务器的预测回源速度;

将预测回源速度大于预设速度阈值的上游服务器确定为所述目标服务器的首个回源服务器,并基于每个所述首个回源服务器确定所述目标服务器的各个回源路径。

上述的方法,可选的,所述机器学习模型的训练过程,包括:

当所述目标服务器的服务器时间达到日终处理时间时,获取所述目标服务器中预先存储的各个当日回源信息,及每个所述当日回源信息对应的回源速度;

依次将各个所述当日回源信息输入所述机器学习模型中,以使所述机器学习模型进行模型训练,直至所述机器学习模型的模型参数满足预先设置的训练条件;

其中,将每个所述当日回源信息输入所述机器学习模型时,获得当前输入所述机器学习模型的当日回源信息的训练结果;调用预先设置的损失函数,对所述训练结果与当前输入所述机器学习模型的当日回源信息对应的回源速度进行计算,得到损失函数值;依据所述损失函数值,判断所述机器学习模型的模型参数是否满足所述训练条件;若不满足,则依据所述损失函数值调整所述机器学习模型的模型参数;若满足,则获得已完成训练的机器学习模型。

上述的方法,可选的,所述依据所述目标回源服务器返回的回源信息,确定所述目标回源服务器与所述目标服务器之间的最短回源路径,包括:

获取所述目标回源服务器返回的回源信息包含的所述目标回源服务器的ip地址,并确定所述目标回源服务器对应的目标回源路径;

向所述目标回源路径中的各个节点发送与所述ip地址对应的连接请求,以使各个所述节点在成功响应于所述连接请求后,与所述目标回源服务器进行连接;各个所述节点分别为所述目标服务器,及所述目标回源路径中设置的各个回源服务器;

确定每个成功响应于所述连接请求的节点与所述目标回源服务器之间的连接路径,并依据每个所述连接路径,确定所述回源服务器与所述目标服务器之间的最短回源路径。

上述的方法,可选的,所述触发所述目标回源服务器通过所述最短回源路径,向所述目标服务器返回数据资源,包括:

获取所述目标回源服务器返回的回源信息包含的所述待获取数据资源的资源大小;

依据所述最短回源路径、资源大小及所述目标回源服务器的回源速度,确定所述目标回源服务器返回所述待获取数据资源的回源方式,触发所述目标回源服务器基于所述回源方式及最短回源路径返回数据资源。

一种数据资源回源装置,包括:

判断单元,用于当检测到目标服务器接收到资源请求时,判断所述目标服务器中是否存储有与所述资源请求对应的待获取数据资源;

获取单元,用于若所述目标服务器中未存储所述待获取数据资源,将所述资源请求转发至与所述目标服务器存在关联关系的各个回源服务器,并获取成功响应所述资源请求的各个回源服务器返回的回源信息;

触发单元,用于将获取的各个回源服务器反馈的回源信息,输入预先训练完成的机器学习模型中,触发所述机器学习模型依据每个所述回源信息,计算每个所述回源服务器返回所述待获取数据资源时的回源速度;

回源单元,用于将回源速度最大的回源服务器确定为目标回源服务器,并依据所述目标回源服务器返回的回源信息,确定所述目标回源服务器与所述目标服务器之间的最短回源路径,并触发所述目标回源服务器通过所述最短回源路径,向所述目标服务器返回所述待获取数据资源。

上述的装置,可选的,所述获取单元,包括:

第一确定子单元,用于确定所述目标服务器的各个回源路径,每个所述回源路径上依次设置有多个回源服务器;

判断子单元,用于在每个所述回源路径中,判断已接收到所述资源请求的当前回源服务器中,是否存储有所述待获取数据资源,若所述当前回源服务器中未存储所述待获取数据资源,则将所述资源请求转发至所述当前回源服务器的下一个回源服务器中,直至在该回源路径中确定成功响应所述资源请求的回源服务器;

计时子单元,用于当在各个所述回源路径中,确定首个成功响应所述资源请求的回源服务器时,启动预设的计时器进行计时,并当计时达到预设时间阈值时,停止各个回源路径中资源请求的转发过程;

第一获取子单元,用于获取当前已成功响应所述资源请求的各个回源服务器返回的回源信息。

上述的装置,可选的,所述第一确定子单元,包括:

第二获取子单元,用于获取所述目标服务器相邻的各个上游服务器的各个历史回源信息,并依据每个所述上游服务器的各个历史回源信息,确定每个所述上游服务器的平均历史回源信息;

触发子单元,用于将每个所述上游服务器的平均历史回源信息输入所述机器学习模型中,触发所述机器学习模型输出每个所述上游服务器的预测回源速度;

第二确定子单元,用于将预测回源速度大于预设速度阈值的上游服务器确定为所述目标服务器的首个回源服务器,并基于每个所述首个回源服务器确定所述目标服务器的各个回源路径。

上述的装置,可选的,还包括:

训练单元,用于当所述目标服务器的服务器时间达到日终处理时间时,获取所述目标服务器中预先存储的各个当日回源信息,及每个所述当日回源信息对应的回源速度;依次将各个所述当日回源信息输入所述机器学习模型中,以使所述机器学习模型进行模型训练,直至所述机器学习模型的模型参数满足预先设置的训练条件;其中,将每个所述当日回源信息输入所述机器学习模型时,获得当前输入所述机器学习模型的当日回源信息的训练结果;调用预先设置的损失函数,对所述训练结果与当前输入所述机器学习模型的当日回源信息对应的回源速度进行计算,得到损失函数值;依据所述损失函数值,判断所述机器学习模型的模型参数是否满足所述训练条件;若不满足,则依据所述损失函数值调整所述机器学习模型的模型参数;若满足,则获得已完成训练的机器学习模型。

一种存储介质,所述存储介质包括存储的指令,其中,在所述指令运行时控制所述存储介质所在的设备执行上述的数据资源回源方法。

一种电子设备,包括存储器,以及一个或者一个以上的指令,其中一个或者一个以上指令存储于存储器中,且经配置以由一个或者一个以上处理器执行上述的数据资源回源方法。

与现有技术相比,本发明包括以下优点:

本发明提供了一种数据资源回源方法,包括:当检测到目标服务器接收到资源请求时,判断该目标服务器是否存储该资源请求对应的待获取数据资源;当目标服务器未存储待获取数据资源时,将该资源请求转发至与目标服务器存在关联关系的回源服务器。在获取到回源服务器成功响应资源请求返回的回源信息时,将各个回源信息输入预设的机器学习模型,以确定各个回源服务器的回源速度,将最大回源速度的回源服务器确定为目标回源服务器;依据目标回源服务器的回源信息,确定最短回源路径,触发该目标回源服务器依据该最短回源路径返回数据资源。应用该方法,通过缩短数据资源回源时的回源路径,无需按照原请求路径返回数据资源,避免占用过多的进出口带宽,减少流量消耗。

附图说明

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

图1为本发明实施例提供的一种数据资源回源方法的方法流程图;

图2为本发明实施例提供的一种数据资源回源方法的又一方法流程图;

图3为本发明实施例提供的一种数据资源回源方法的方法示例图;

图4为本发明实施例提供的一种数据资源回源方法的又一方法流程图;

图5为本发明实施例提供的一种数据资源回源装置的装置结构图;

图6为本发明实施例提供的一种电子设备的结构示意图。

具体实施方式

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

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

本发明可用于众多通用或专用的计算装置环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器装置、包括以上任何装置或设备的分布式计算环境等等。

本发明实施例提供了一种数据资源回源方法,该方法可以应用在多种系统平台,其执行主体可以为计算机终端或各种移动设备的处理器,所述方法的方法流程图如图1所示,具体包括:

s101:当检测到目标服务器接收到资源请求时,判断所述目标服务器中是否存储有与所述资源请求对应的待获取数据资源;

在本发明实施例中,在内容分发网络cdn系统中包含多个服务器,每个服务器相当于一个数据资源的存储节点,用于存储该cdn系统中的各个数据资源。cdn系统中的每个服务器所存储的数据资源可以相同,也可以不同。当请求方请求获取数据资源时,将会向cdn系统中的任意服务器发送资源请求,可选的,当请求方发送资源请求时,可以按照就近原则向其最近的服务器发送资源请求。因此,将接收请求方发送的资源请求的服务器确定为目标服务器。当处理器检测到目标服务器接收到资源请求时,判断该目标服务器是否存储该资源请求对应的待获取数据资源。

s102:若所述目标服务器中未存储所述待获取数据资源,将所述资源请求转发至与所述目标服务器存在关联关系的各个回源服务器,并获取成功响应所述资源请求的各个回源服务器返回的回源信息;

在本发明实施例中,当目标服务器中未存储该待获取数据资源时,需要对该待获取数据资源进行回源。在对待获取数据资源进行回源时,将该资源请求转发到该目标服务器存在关联关系的各个回源服务器。其中,与该目标服务器存在关联关系的回源服务器可以是在进行数据资源回源过程中,需要确定是否存储该待获取数据资源的各个服务器。其中,每个具有关联关系的服务器之间可以具有一定的连接关系,且各个服务器之间也可以经由该目标服务器转发的资源请求实现相互通讯。

具体的,当回源服务器在接收到资源请求后,会确定该回源服务器是否存储该资源请求对应的待获取数据资源;若存储该待获取数据资源,则对该资源请求进行成功响应。当回源服务器发生故障时,可能无法对资源请求进行响应,导致回源服务器对该资源请求的响应失败;或回源服务器中未存储该资源请求对应的数据资源时,会向目标服务器返回未存储该待获取数据资源对应的响应失败消息。

s103:将获取的各个回源服务器反馈的回源信息,输入预先训练完成的机器学习模型中,触发所述机器学习模型依据每个所述回源信息,计算每个所述回源服务器返回所述待获取数据资源时的回源速度;

在本发明实施例中,若存在回源服务器存储该待获取数据资源,则对资源请求进行响应,并向目标服务器返回与该待获取数据资源对应的回源信息。其中,该回源信息中包括了多个回源参数,具体可以包括该回源服务器在对该资源请求进行响应时的响应速度、响应时间、存储该待获取数据资源的资源大小、回源服务器的ip地址及目标服务器的ip地址等参数。将该每个回源服务器所返回的回源信息输入机器学习模型当中,触发该机器学习模型输出每个回源服务器返回待获取数据资源的回源速度。其中,该机器学习模型根据回源信息中包含的响应速度、响应时间、资源大小等参数,计算该回源信息在返回该待获取数据资源时所需的回源速度。

需要说明的是,在本发明实施例中,回源服务器的回源速度越大,其向目标服务器返回数据资源的所用的时间就越短。

s104:将回源速度最大的回源服务器确定为目标回源服务器,并依据所述目标回源服务器返回的回源信息,确定所述目标回源服务器与所述目标服务器之间的最短回源路径,并触发所述目标回源服务器通过所述最短回源路径,向所述目标服务器返回所述待获取数据资源。

在本发明实施例中,当接收到机器学习模型输出每个回源服务器的回源速度时,从各个回源速度中,选取出最大的回源速度。该最大的回源速度表征其对应的回源服务器返回该待获取数据资源时最快,因此,将回源速度最大的回源服务器确定为目标回源服务器。在确定目标回源服务器后,为缩短目标回源服务器返回数据资源的时间,需要根据该目标回源服务器所返回的回源信息,确定该目标回源服务器与目标服务器之间的最短回源路径。例如,若目标回源服务器e是由目标服务器a经过服务器b、服务器c和服务器d转发资源请求后,最终确定为存储有待获取数据资源的回源服务器;在目标回源服务器e在向目标服务器返回数据资源时,需要经由服务器d、服务器c和服务器b才能将数据资源返回。但,若目标服务器a与目标回源服务器e之间存在最短回源路径,则目标回源服务器e可直接将数据资源发送给目标服务器a。

具体的,当目标回源服务器向目标服务器返回数据资源后,由目标服务器将该数据资源反馈给发送资源请求的请求方。

本发明实施例提供的数据资源回源方法中,当处理器检测到cdn系统中任意的服务器接收到资源请求时,接收资源请求的服务器则为目标服务器。判断在该目标服务器中是否已存储该资源请求对应的待获取数据资源。若该目标服务器未存储待获取数据资源,则将该资源请求转发给各个回源服务器。具体的,可以以目标服务器为中心,向外扩散,在cdn系统中,通过一层层回源服务器转发该资源请求。回源服务器在接收到资源请求后,检测其内部是否存储该资源请求对应待获取数据资源,若存储,则对该资源请求进行响应,同时生成该资源请求对应的回源信息向目标服务器进行返回。将各个回源信息输入到机器学习模型当中,以使机器学习模型输出每个回源服务器返回该待获取数据资源时所需的回源速度。为能够尽快获取数据资源,将回源速度最大的回源服务器确定为目标回源服务器,并根据该目标回源服务器的回源信息确定该目标回源服务器与目标服务器之间的最短回源路径,以使该目标回源服务器经由最短回源路径返回数据资源。

需要说明的是,其中,cdn系统中每个服务器的存储空间有限,为保证服务器存储空间留有一定的余量,需定期对服务器中存储的各个资源文件进行清理。因此,当接收到资源请求时,目标服务器中可能已将该资源请求对应的数据资源删除。

可选的,当回源服务器对资源请求响应失败时,可以向目标服务器返回响应失败消息,该响应失败消息中包含失败原因、响应失败时间、回源服务器地址等信息。

应用本发明实施例提供的方法,通过缩短数据资源回源时的回源路径,无需按照原请求路径返回数据资源,避免占用过多的进出口带宽,减少流量消耗。

本发明实施例提供的方法中,基于上述步骤s102的内容,将所述资源请求转发至与所述目标服务器存在关联关系的各个回源服务器,并获取成功响应所述资源请求的各个回源服务器返回的回源信息的过程如图2所示,具体可以包括:

s201:确定所述目标服务器的各个回源路径,每个所述回源路径上依次设置有多个回源服务器;

在本发明实施例中,若该目标服务器未存储待获取数据资源时,需确定该目标服务器的各个回源路径,每个回源路径中上一次设置有多个回源服务器,各个回源路径上的各个回源服务器均与该目标服务器相关联。

s202:在每个所述回源路径中,判断已接收到所述资源请求的当前回源服务器中,是否存储有所述待获取数据资源,若所述当前回源服务器中未存储所述待获取数据资源,则将所述资源请求转发至所述当前回源服务器的下一个回源服务器中,直至在该回源路径中确定成功响应所述资源请求的回源服务器;

在本发明实施例中,在确定该目标服务器的各个回源路径后,将该资源请求依次转发至每个回源路径的各个回源服务器中。在转发资源请求的过程中,判断已接收到该资源请求的当前回源服务器是否存储该待获取数据资源。若该当前回源服务器中未存储该待获取数据资源,则不会对该资源请求进行响应,并可以由该当前回源服务器将该资源请求转发给其所在的回源路径的下一个回源服务器。当资源请求转发给下一个回源服务器后,再执行判断是否存储该待获取数据资源的过程,直至确定该回源路径中成功响应该资源请求的回源服务器,即,确定存储该待获取数据资源的服务器。

s203:当在各个所述回源路径中,确定首个成功响应所述资源请求的回源服务器时,启动预设的计时器进行计时,并当计时达到预设时间阈值时,停止各个回源路径中资源请求的转发过程;

在本发明实施例中,在该目标服务器的所有回源路径中,当确定首个成功响应该资源请求回源服务器时,即,当各个回源路径的各个回源服务器中出现第一个成功响应资源请求的回源服务器时,启动预先设置的计时器进行计时。当该计时器的计时时间达到预设计时阈值时,将停止各个回源路径当中资源请求的转发过程。

s204:获取当前已成功响应所述资源请求的各个回源服务器返回的回源信息。

在本发明实施例中,获取在该预设时间阈值内,当前已成功响应该资源请求的各个回源服务器返回的回源信息。若在该预设时间阈值内只有一个回源服务器成功响应资源请求,则获取该回源服务器返回的回源信息;若有多个回源服务器成功响应资源请求,则获取每个回源服务器所返回的回源信息。

本发明实施例提供的数据资源回源方法中,通过确定该目标服务器的各个回源路径,向每个回源路径中的各个回源服务器依次转发该资源请求。其中,依次转发资源请求的过程为:在同一个回源路径中,若向当前回源服务器转发资源请求后,判断该当前回源服务器是否存储该待获取数据资源;若该当前回源服务器未存储该待获取数据资源,则通过该当前回源服务器向下一个回源服务器转发该资源请求;若该当前回源服务器存储该待获取数据资源,则可以不再向下一个回源服务器转发该资源请求。在各个回源路径当中,若有一个回源服务器是第一个响应该资源请求的,则启动计时器进行计时,在计时时间达到预设时间阈值后,停止各个回源路径的资源转发过程。

需要说明的是,本发明实施例中,以cdn系统中各个服务器为例,该目标服务器的各个回源路径具体可以如图3所示,图3中,节点a为目标服务器,节点b1、节点b2和节点b3为节点a的下一回源服务器;节点c1和节点c2为节点b1的下一回源服务器,节点c3、节点c4、节点c5和节点c6为节点b2的下一回源服务器;节点d1和节点d2为节点c2的下一回源服务器;节点d3和节点d4为节点c5的下一回源服务器。以目标服务器为中心,向外扩散转发资源请求以获得该待获取数据资源。其中,与节点a具有关联关系的回源路径包括:a—b1—c1、a—b1—c2—d1、a—b1—c2—d2、a—b2—c3、a—b2—c4、a—b2—c5—d3、a—b2—c5—d4、a—b2—c6和a—b3。其中,每个节点均为一个服务器,各个服务器可以均属于cdn系统中。

应用本发明实施例提供的方法,为保证能够能够获取该资源请求对应的待获取数据资源,通过多个回源路径转发该资源请求,以确定存储有该待获取数据资源的回源服务器。

本发明实施例提供的数据资源回源方法中,基于上述步骤s201中的内容,为了能获得该资源请求对应的待获取数据资源,需确定该目标服务器的各个回源路径,具体可以包括:

获取所述目标服务器相邻的各个上游服务器的各个历史回源信息,并依据每个所述上游服务器的各个历史回源信息,确定每个所述上游服务器的平均历史回源信息;

将每个所述上游服务器的平均历史回源信息输入所述机器学习模型中,触发所述机器学习模型输出每个所述上游服务器的预测回源速度;

将预测回源速度大于预设速度阈值的上游服务器确定为所述目标服务器的首个回源服务器,并基于每个所述首个回源服务器确定所述目标服务器的各个回源路径。

本发明实施例提供的方法中,确定各个回源路径之前,为保证每个回源服务器是进行资源请求转发过程中响应最快的,需要在目标服务器的各个上游服务器中,择优选择服务器性能高的服务器作为回源服务器。其中,将cdn系统中在目标服务器的一定位置范围内的各个服务器确定上游服务器,并获取每个上游服务器中多个历史回源信息。其中,各个历史回源信息是上游服务器与目标服务器,在历史数据资源回源过程中所返回的回源信息,并由每个上游服务器的多个历史回源信息确定其对应的平均历史回源信息。具体的,将属于同一上游服务器的各个历史回源信息中的各个参数取平均值,获得平均历史回源信息。将每个上游服务器的平均历史回源信息输入机器学习模型当中,该机器学习模型可对每个上游服务器的平均历史回源信息进行计算,获得每个上游服务器向该目标服务器返回数据资源时的预测回源速度。并将预测回源速度大于预设速度阈值的上游服务器确定为该目标服务器的首个回源服务器。并根据该首个回源服务器,确定该目标回源服务器的各个回源路径。

本发明实施例中,以图3中各个服务器为例,节点a为目标服务器,节点a相邻的服务器为节点b1、节点b2和节点b3。因此,节点b1、节点b2和节点b3为节点a的上游服务器。在将节点b1、节点b2和节点b3的平均历史回源信息输入机器学习模型进行训练分别获得节点b1、节点b2和节点b3的预测回源速度后,若节点b2的预测回源速度不大于预设速度阈值,则该节点a的首个回源服务器为节点b1和节点b3,则该节点a的回源路径分别包括:a—b1—c1、a—b1—c2—d1、a—b1—c2—d2和a—b3。

需要说明的是,为防止在数据资源回源过程中向已发生故障或服务器性能低的上游服务器转发资源请求,需要根据每个上游服务器的平均历史回源信息确定服务器返回数据资源的性能。预测回源速度越大,表征上游服务器返回数据资源越快,若上游服务器发生故障或性能降低,则预测回源速度越小,为了确保上游服务器能够更快的响应于资源请求并快速返回数据资源,选择预测回源速度大于速度阈值的上游服务器为回源服务器。

进一步说明,本发明实施例中,回源路径中当前回源服务器的下一个回源服务器可以是通过当前回源服务器相邻的上游服务器及机器学习模型进行确定,其确定过程可以与目标服务器确定各个首个回源服务器的过程一致,此处将不复赘述。

可选的,在确定各个上游服务器的预测回源速度的过程中,若上游服务器发生故障或性能极低,可由处理器向预先设置的信息接收端反馈与服务器故障或服务器性能降低对应的提示消息。

应用本发明实施例提供的方法,通过确定目标服务器相邻的各个上游服务器的预测回源速度,选取最优的上游服务器作为该目标服务器的首个回源服务器,以确定各个回源路径,保证在数据资源回源过程中,加快数据资源的回源速度,节省资源获取时间。

本发明实施例提供的方法中,在获得各个回源服务器返回的回源信息后,需要通过机器学习模型确定每个回源服务器返回待获取数据资源的回源速度。该机器学习模型是预先训练完成的,因此,该机器学习模型的训练过程,具体可以包括:

当所述目标服务器的服务器时间达到日终处理时间时,获取所述目标服务器中预先存储的各个当日回源信息,及每个所述当日回源信息对应的回源速度;

依次将各个所述当日回源信息输入所述机器学习模型中,以使所述机器学习模型进行模型训练,直至所述机器学习模型的模型参数满足预先设置的训练条件;

其中,将每个所述当日回源信息输入所述机器学习模型时,获得当前输入所述机器学习模型的当日回源信息的训练结果;调用预先设置的损失函数,对所述训练结果与当前输入所述机器学习模型的当日回源信息对应的回源速度进行计算,得到损失函数值;依据所述损失函数值,判断所述机器学习模型的模型参数是否满足所述训练条件;若不满足,则依据所述损失函数值调整所述机器学习模型的模型参数;若满足,则获得已完成训练的机器学习模型。

本发明实施例提供的方法中,在cdn系统中,可以是多个服务器对应一个机器学习模型,也可以是一个服务器对应一个机器学习模型。当回源服务器向该目标服务器返回资源信息后,调用该目标服务器对应机器学习模型确定该回源信息的回源速度。具体的,该机器学习模型可以设置于该目标服务器中。当该目标服务器的服务器时间达到预先设置的日终处理时间时,开始对该机器学习模型进行训练。通过获取该机器学习模型中预先存储的各个当日回源信息,及每个当日回源信息对应的回源速度。将各个当日回源信息输入该机器学习模型当中,触发该机器学习模型依据各个当日回源信息进行训练,输出对应的训练结果。将当日回源信息对应的训练结果与其对应的回源速度进行计算,获得损失函数值。并依据该损失函数值确定该机器学习模型是否满足训练条件。例如,训练条件为损失函数值达到0.95。若当前训练结果和回源速度的损失函数值为0.94,则不满足训练条件,并根据该损失函数值调整该机器学习模型内部的模型参数,并再次调用该机器学习模型进行训练,直至当前的损失函数值不小于0.95,获得该机器学习模型,结束训练。

需要说明的是,日终处理时间可以是当日日期切换到下日日期的日切时间。该机器学习模型可以是一种自主学习机器,可以根据回源信息中的各个回源参数,计算每个参数对应的权重,对回源服务器返回数据资源时的回源速度进行预估。对该机器学习模型进行训练的当日回源信息数量越多,该机器学习模型回源速度的计算越准确。

应用本发明实施例提供的方法,对机器学习模型进行训练,提高模型计算回源速度的准确度,以保证在数据资源回源过程中,选取最优的回源服务器返回数据资源。

本发明实施例提供的方法中,基于上述步骤s104中的内容,在确定目标回源服务器后,目标回源服务器与目标服务器之间可能经过了多层的转发资源请求过程。依据所述目标回源服务器返回的回源信息,确定所述目标回源服务器与所述目标服务器之间的最短回源路径的过程如图4所示,具体可以包括:

s401:获取所述目标回源服务器返回的回源信息包含的所述目标回源服务器的ip地址,并确定所述目标回源服务器对应的目标回源路径;

在本发明实施例中,回源服务器在成功响应于资源请求后,生成回源信息返回给目标服务器。在各个回源服务器中确定目标回源服务器后,获取该目标回源服务器的回源信息中的ip地址,该ip地址为目标回源服务器的ip地址。同时确定该目标回源服务器与目标服务器之间的目标回源路径。例如,服务器a为目标服务器,服务器a经由服务器b、服务器c、服务器d后,获得的服务器e的回源信息,且该服务器e为目标回源服务器时,目标回源服务器与目标服务器之间的目标回源路径为:a—b—c—d—e。

s402:向所述目标回源路径中的各个节点发送与所述ip地址对应的连接请求,以使各个所述节点在成功响应于所述连接请求后,与所述目标回源服务器进行连接;各个所述节点分别为所述目标服务器,及所述目标回源路径中设置的各个回源服务器;

在本发明实施例中,在确定原回源路径后,向该原回源路径中包含的各个节点发送与该ip地址连接的连接请求。其中,每个节点为原回源路径中对应的服务器,如以上述步骤s401中的服务器a、服务器b、服务器c和服务器d分别为原回源回路径a—b—c—d—e中对应的节点。每个节点在接收到连接请求后,依据该连接请求中的ip地址,确定是否能与该目标回源服务器进行连接。若能连接,则该节点将与该目标回源服务器进行连接。

具体的,若目标回源路径a—b—c—d—e中,服务器a和服务器c能与该服务器e连接,则服务器a和服务器e之间的回源路径包括:目标回源路径a—b—c—d—e、第一回源路径a—e和第二回源路径a—b—c—e。

s403:确定每个成功响应于所述连接请求的节点与所述目标回源服务器之间的连接路径,并依据每个所述连接路径,确定所述回源服务器与所述目标服务器之间的最短回源路径。

在本发明实施例中,确定该目标回源服务器与每个已连接的节点之间的连接路径,如上述步骤s402实施例中的目标回源路径a—b—c—d—e、第一回源路径a—e和第二回源路径a—b—c—e。并在各个回源路径中确定最短回源路径,则第一回源路径a—e为最短回源路径。

本发明实施例提供的数据资源回源方法中,通过ip地址与目标回源路径中的各个节点进行连接,确定每个成功响应该连接请求的节点与该目标回源服务器之间的连接路径,并在各个连接路径中选取出最短回源路径,因此,优化目标回源服务器在返回数据资源时的路径,无需按照原请求路径返回数据资源,避免占用过多的进出口带宽,减少流量消耗。

本发明实施例提供的方法中,在确定目标回源服务器返回数据资源时的最短回源路径后,需触发该目标回源服务器通过该最短回源路径,向目标服务器返回数据资源,具体可以包括:

获取所述目标回源服务器返回的回源信息包含的所述待获取数据资源的资源大小;

依据所述最短回源路径、资源大小及所述目标回源服务器的回源速度,确定所述目标回源服务器返回所述待获取数据资源的回源方式,触发所述目标回源服务器基于所述回源方式及最短回源路径返回数据资源。

本发明实施例提供的数据资源回源方法中,在数据资源回源时,可以通过预先设置的回源方式对数据资源进行回源,其中,回源方式包括单路回源和多路回源。单路回源是指,将数据资源按照预先设置的单路配置参数,将整个数据资源返回目标服务器;多路回源是指,将数据资源按照预先设置的多路配置参数,将数据资源分成多段依次返回给目标服务器。当待获取数据资源的资源大小较小,回源路径较短,且回源速度较大时,可以确定该目标回源服务器返回待获取数据资源时的回源方式为单路回源;当待获取数据资源的资源大小较大,最短回源路径相对目标回源服务器与目标服务器之间的最短距离较长,且回源速度也较大时,可以确定该目标回源服务器返回待获取数据资源时的回源方式为多路回源。在确定目标回源服务器返回待获取数据资源时的回源方式后,触发该目标回源服务器按照该回源方式及最短回源路径返回数据资源。

应用本发明实施例提供的方法,在触发该目标回源服务器返回数据资源之前,可以通过确定回源方式,选择最适合回源的回源方式,缩短返回数据资源时的回源时间。

上述各个实施例的具体实施过程及其衍生方式,均在本发明的保护范围之内。

与图1所述的方法相对应,本发明实施例还提供了一种数据资源回源装置,用于对图1中方法的具体实现,本发明实施例提供的数据资源回源装置可以应用计算机终端或各种移动设备中,其结构示意图如图5所示,具体包括:

判断单元501,用于当检测到目标服务器接收到资源请求时,判断所述目标服务器中是否存储有与所述资源请求对应的待获取数据资源;

获取单元502,用于若所述目标服务器中未存储所述待获取数据资源,将所述资源请求转发至与所述目标服务器存在关联关系的各个回源服务器,并获取成功响应所述资源请求的各个回源服务器返回的回源信息;

触发单元503,用于将获取的各个回源服务器反馈的回源信息,输入预先训练完成的机器学习模型中,触发所述机器学习模型依据每个所述回源信息,计算每个所述回源服务器返回所述待获取数据资源时的回源速度;

回源单元504,用于将回源速度最大的回源服务器确定为目标回源服务器,并依据所述目标回源服务器返回的回源信息,确定所述目标回源服务器与所述目标服务器之间的最短回源路径,并触发所述目标回源服务器通过所述最短回源路径,向所述目标服务器返回所述待获取数据资源。

本发明实施例提供的装置中,在检测到目标服务器接收到资源请求时,由判断单元对该资源请求进行判断,以确定该目标服务器是否存储该资源请求对应的待获取数据资源。若未存储则执行资源请求转发的过程,将该资源请求转发至该目标服务器存储关联关系的各个回源服务器中,由获取单元获取成功响应该资源请求个回源服务器返回的回源信息。将各个回源信息发送到机器学习模型后,通过触发单元触发该机器学习模型计算每个回源服务器的回源速度,并将回源速度最大的回源服务器确定为目标回源服务器。在确定最短回源路径后,由该回源单元触发该目标回源服务器通过该最短回源路径返回数据资源。应用本发明实施例提供的装置,可以优化数据资源回源时的路径,无需按照原请求路径返回数据资源,避免占用过多的进出口带宽,减少流量消耗。

本发明实施例提供的装置中,所述获取单元,包括:

第一确定子单元,用于确定所述目标服务器的各个回源路径,每个所述回源路径上依次设置有多个回源服务器;

判断子单元,用于在每个所述回源路径中,判断已接收到所述资源请求的当前回源服务器中,是否存储有所述待获取数据资源,若所述当前回源服务器中未存储所述待获取数据资源,则将所述资源请求转发至所述当前回源服务器的下一个回源服务器中,直至在该回源路径中确定成功响应所述资源请求的回源服务器;

计时子单元,用于当在各个所述回源路径中,确定首个成功响应所述资源请求的回源服务器时,启动预设的计时器进行计时,并当计时达到预设时间阈值时,停止各个回源路径中资源请求的转发过程;

第一获取子单元,用于获取当前已成功响应所述资源请求的各个回源服务器返回的回源信息。

本发明实施例提供的装置中,所述第一确定子单元,包括:

第二获取子单元,用于获取所述目标服务器相邻的各个上游服务器的各个历史回源信息,并依据每个所述上游服务器的各个历史回源信息,确定每个所述上游服务器的平均历史回源信息;

触发子单元,用于将每个所述上游服务器的平均历史回源信息输入所述机器学习模型中,触发所述机器学习模型输出每个所述上游服务器的预测回源速度;

第二确定子单元,用于将预测回源速度大于预设速度阈值的上游服务器确定为所述目标服务器的首个回源服务器,并基于每个所述首个回源服务器确定所述目标服务器的各个回源路径。

本发明实施例提供的装置中,还包括:

训练单元,用于当所述目标服务器的服务器时间达到日终处理时间时,获取所述目标服务器中预先存储的各个当日回源信息,及每个所述当日回源信息对应的回源速度;依次将各个所述当日回源信息输入所述机器学习模型中,以使所述机器学习模型进行模型训练,直至所述机器学习模型的模型参数满足预先设置的训练条件;其中,将每个所述当日回源信息输入所述机器学习模型时,获得当前输入所述机器学习模型的当日回源信息的训练结果;调用预先设置的损失函数,对所述训练结果与当前输入所述机器学习模型的当日回源信息对应的回源速度进行计算,得到损失函数值;依据所述损失函数值,判断所述机器学习模型的模型参数是否满足所述训练条件;若不满足,则依据所述损失函数值调整所述机器学习模型的模型参数;若满足,则获得已完成训练的机器学习模型。

本发明实施例提供的装置中,所述回源单元,包括:

第三获取子单元,用于获取所述目标回源服务器返回的回源信息包含的所述目标回源服务器的ip地址,并确定所述目标回源服务器对应的目标回源路径;

发送子单元,用于向所述目标回源路径中的各个节点发送与所述ip地址对应的连接请求,以使各个所述节点在成功响应于所述连接请求后,与所述目标回源服务器进行连接;各个所述节点分别为所述目标服务器,及所述目标回源路径中设置的各个回源服务器;

第三确定子单元,用于确定每个成功响应于所述连接请求的节点与所述目标回源服务器之间的连接路径,并依据每个所述连接路径,确定所述回源服务器与所述目标服务器之间的最短回源路径。

本发明实施例提供的装置中,所述回源单元,包括:

第四获取子单元,用于获取所述目标回源服务器返回的回源信息包含的所述待获取数据资源的资源大小;

第四确定子单元,用于依据所述最短回源路径、资源大小及所述目标回源服务器的回源速度,确定所述目标回源服务器返回所述待获取数据资源的回源方式,触发所述目标回源服务器基于所述回源方式及最短回源路径返回数据资源。

以上本发明实施例公开的数据资源回源装置中各个单元及子单元的具体工作过程,可参见本发明上述实施例公开的数据资源回源方法中的对应内容,这里不再进行赘述。

本发明实施例还提供了一种存储介质,所述存储介质包括存储的指令,其中,在所述指令运行时控制所述存储介质所在的设备执行上述数据资源回源方法。

本发明实施例还提供了一种电子设备,其结构示意图如图6所示,具体包括存储器601,以及一个或者一个以上的指令602,其中一个或者一个以上指令602存储于存储器601中,且经配置以由一个或者一个以上处理器603执行所述一个或者一个以上指令602进行以下操作:

当检测到目标服务器接收到资源请求时,判断所述目标服务器中是否存储有与所述资源请求对应的待获取数据资源;

若所述目标服务器中未存储所述待获取数据资源,将所述资源请求转发至与所述目标服务器存在关联关系的各个回源服务器,并获取成功响应所述资源请求的各个回源服务器返回的回源信息;

将获取的各个回源服务器反馈的回源信息,输入预先训练完成的机器学习模型中,触发所述机器学习模型依据每个所述回源信息,计算每个所述回源服务器返回所述待获取数据资源时的回源速度;

将回源速度最大的回源服务器确定为目标回源服务器,并依据所述目标回源服务器返回的回源信息,确定所述目标回源服务器与所述目标服务器之间的最短回源路径,并触发所述目标回源服务器通过所述最短回源路径,向所述目标服务器返回所述待获取数据资源。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现。

为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

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

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