发明内容
为了解决上述技术问题,本申请提供了一种任务调度方法、装置、计算机设备和存储介质。
第一方面,本申请提供了一种任务调度方法,应用于调度***,包括:
接收目标客户端的目标数据请求,其中,所述目标数据请求用于请求下载目标内容;
根据访问数据,从多个家庭节点中匹配出用于响应所述目标数据请求的目标家庭节点,其中,每个所述访问数据用于指示一个家庭节点的服务状态,所述目标家庭节点中存储有所述目标内容;
发送所述目标家庭节点的链接地址至所述目标客户端,以指示所述目标客户端从所述目标家庭节点下载所述目标内容。
第二方面,本申请提供了一种任务调度方法,应用于家庭节点,所述方法包括:
接收目标客户端的目标数据请求,其中,所述目标数据请求用于请求下载目标内容,所述目标数据请求中携带有所述目标客户端的网络标签;
在数据库中将所述目标内容作为响应返回至所述目标客户端;
根据对所述目标数据请求的响应过程,生成与所述网络标签相关的访问数据;
发送所述访问数据至调度***。
第三方面,本申请提供了一种任务调度装置,应用于调度***,包括:
第一接收模块,用于接收目标客户端的目标数据请求,其中,所述目标数据请求用于请求下载目标内容;
节点分配模块,用于根据访问数据,从多个家庭节点中匹配出用于响应所述目标数据请求的目标家庭节点,其中,每个所述访问数据用于指示一个家庭节点的服务状态,所述目标家庭节点中存储有所述目标内容;
发送模块,用于发送所述目标家庭节点的链接地址至所述目标客户端,以指示所述目标客户端从所述目标家庭节点下载所述目标内容。
第四方面,本申请提供了一种任务调度装置,应用于家庭节点,包括:
第二接收模块,用于接收目标客户端的目标数据请求,其中,所述目标数据请求用于请求下载目标内容,所述目标数据请求中携带有所述目标客户端的网络标签;
响应模块,用于在数据库中将所述目标内容作为响应返回至所述目标客户端;
数据生成模块,用于根据对所述目标数据请求的响应过程,生成与所述网络标签相关的访问数据;
数据上报模块,用于发送所述访问数据至调度***。
本申请实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
接收目标客户端的目标数据请求,其中,所述目标数据请求用于请求下载目标内容;
根据访问数据,从多个家庭节点中匹配出用于响应所述目标数据请求的目标家庭节点,其中,每个所述访问数据用于指示一个家庭节点的服务状态,所述目标家庭节点中存储有所述目标内容;
发送所述目标家庭节点的链接地址至所述目标客户端,以指示所述目标客户端从所述目标家庭节点下载所述目标内容。
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
接收目标客户端的目标数据请求,其中,所述目标数据请求用于请求下载目标内容;
根据访问数据,从多个家庭节点中匹配出用于响应所述目标数据请求的目标家庭节点,其中,每个所述访问数据用于指示一个家庭节点的服务状态,所述目标家庭节点中存储有所述目标内容;
发送所述目标家庭节点的链接地址至所述目标客户端,以指示所述目标客户端从所述目标家庭节点下载所述目标内容。
基于上述任务调度方法,调度***接收来自目标客户端的目标数据请求,调度***根据访问数据为目标客户端分配用于响应目标数据请求的目标家庭节点,目标家庭节点中存储有目标内容,访问数据为家庭节点反馈至所述调度***的数据,每个所述访问数据用于指示一个家庭节点在响应数据请求时的服务状态,调度***将目标家庭节点的链接地址发送目标客户端,使目标客户端通过链接地址从目标家庭节点下载目标内容,相较于传统的通过CDN节点下载数据,通过家庭节点下载数据可以降低使用成本,从而为数据资源的提供方提供使用成本更低的数据下载方式。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为一个实施例中任务调度方法的应用环境图。参照图1,该任务调度方法应用于任务调度***。该任务调度***包括客户端110、家庭节点120和调度***130。客户端110和家庭节点120、调度***130通过网络连接。客户端110具体可以是台式终端或移动终端,移动终端具体可以为手机、平板电脑、笔记本电脑等中的至少一种。家庭节点120为普通用户家庭利用闲置带宽提供下载服务的路由器或机顶盒等,相较于传统的CDN节点提供数据服务,家庭节点120的使用成本更低。调度***130用于管理所有的家庭节点,每个家庭节点120会定时上报访问数据到调度***,调度***130根据访问数据就可以得知家庭节点的存储状态、运行状态、节点对应的运营商网络等,调度***130根据家庭节点120实时反馈的上报数据为终端的数据请求分配对应的家庭节点120,为终端提供数据服务。
在一个实施例中,图2为一个实施例中一种任务调度方法的流程示意图,参照图2,提供了一种任务调度方法。本实施例主要以该方法应用于上述图1中的调度***130来举例说明,该任务调度方法具体包括如下步骤:
步骤S210,接收目标客户端的目标数据请求,其中,所述目标数据请求用于请求下载目标内容。
在本实施例中,目标客户端为多个客户端中的任意一个,目标内容为任意一种业务类型所对应的流媒体数据,业务类型具体可以为游戏、视频、音乐、图片、文本等。
步骤S220,根据访问数据,从多个家庭节点中匹配出用于响应所述目标数据请求的目标家庭节点。
在本实施例中,访问日志包括多个家庭节点反馈至所述调度***的访问数据,访问日志中的访问数据均为历史数据,每个所述访问数据用于指示一个家庭节点在响应数据请求时的服务状态,所述目标家庭节点中存储有所述目标内容。即在存储有目标内容的多个家庭节点中,根据家庭节点之前对客户端的服务状态,从中选择服务状态符合目标客户端的服务要求的家庭节点作为目标家庭节点。
步骤S230,发送所述目标家庭节点的链接地址至所述目标客户端,以指示所述目标客户端从所述目标家庭节点下载所述目标内容。
在本实施例中,调度***将目标家庭节点的链接地址发送至目标客户端,目标客户端按照链接地址从目标家庭节点下载目标内容。由于家庭节点是利用闲时带宽提供数据服务,相较于传统的从CDN节点下载数据内容,通过家庭节点下载数据能降低使用成本。
在一个实施例中,所述目标数据请求中携带有所述目标客户端的服务要求和终端所在位置,所述根据访问日志中的访问数据,从多个家庭节点中匹配出用于响应所述目标数据请求的目标家庭节点,包括:
根据访问日志中的访问数据,确定各个家庭节点的服务能力、存储文件和节点覆盖范围;将服务能力满足所述目标客户端的服务要求、且存储文件包含所述目标内容、以及节点覆盖范围包含所述终端所在位置的家庭节点,作为所述目标家庭节点。
具体地,访问数据中包括家庭节点的存储状态、运行状态、节点覆盖范围、节点对应的运营商网络等,存储状态用于指示家庭节点本地的存储文件以及可用存储空间,运行状态用于指示家庭节点的CPU状态和服务状态,节点覆盖范围用于指示家庭节点所能提供数据服务的范围,节点覆盖范围具体可以以区、市、省或国家为计量单位,节点对应的运营商网络具体可以为电信网络、移动网络或铁通网络等。
终端所在位置是指客户端在发起目标数据请求时所对应的位置,在家庭节点存储有目标内容、且节点覆盖范围包含终端所在范围、以及服务能力满足目标客户端的服务要求的情况下,将该家庭节点作为目标家庭节点,可以为目标客户端提供数据服务,其中,服务要求具体包括慢速率要求和错误率要求,慢速率要求是指家庭节点的响应速率要高于预设速率,错误率要求是指家庭节点的响应失败率要低于错误率阈值。
调度***根据访问数据分析家庭节点之前对于客户端的服务状态,便于后续动态调整为客户端提供数据服务的家庭节点,以实现更精准地为客户端分配合适的家庭节点提供数据服务,为不同的客户端提供定制化服务。
在一个实施例中,所述目标数据请求中携带有所述目标客户端的网络标签,所述根据访问日志中的访问数据,确定各个家庭节点的服务能力,包括:
根据访问日志中与所述网络标签相关的访问数据,确定第一家庭节点的节点评级,其中,所述第一家庭节点是指所述目标客户端发起数据请求的次数不为零的家庭节点,所述第一家庭节点的节点评级用于指示所述第一家庭节点对于所述目标客户端的服务能力;
根据访问日志中与所述网络标签不相关的访问数据,确定第二家庭节点的节点评级,其中,所述第二家庭节点是指所述目标客户端发起数据请求的次数为零的家庭节点,所述第二家庭节点的节点评级用于指示所述第二家庭节点对于多个客户端的服务能力。
具体地,访问日志中每个访问数据携带有一个对应的网络标签,访问数据用于指示家庭节点为网络标签对应的客户端提供数据服务的过程。根据访问日志中与所述目标客户端的网络标签相关的访问数据,即可确定目标客户端曾发起过数据请求的第一家庭节点,在多个第一家庭节点中可能存在因为响应失败未为目标客户端提供过数据服务的家庭节点,也可能存在曾为目标客户端提供过数据服务的家庭节点,根据各个与所述目标客户端的网络标签相关的访问数据,即可确定第一家庭节点相对于目标客户端的节点评级,第一家庭节点的节点评级用于指示所述第一家庭节点对于所述目标客户端的服务能力。
在访问日志中与目标客户端的网络标签不相关的访问数据,即可确定目标客户端未曾发起过数据请求的第二家庭节点,表示第二家庭节点未曾为目标客户端提供过数据服务,但可根据第二家庭节点为其客户端提供数据服务的能力,来估计第二家庭节点对目标客户端的服务能力,即根据访问日志中与所述网络标签不相关的访问数据,确定第二家庭节点对于所有客户端的节点评级。也就是说家庭节点的节点评级包括对于每个曾提供过数据服务的客户端的评级,以及对于所有曾提供过数据服务的客户端的评级。
在一个实施例中,所述根据访问日志中与所述网络标签相关的访问数据,确定第一家庭节点的节点评级,包括:
对第一访问数据中的第一错误率和第一慢速率进行加权求和,并将多个数值区间中加权求和的结果所在的数值区间对应的节点评级,作为所述第一访问数据对应的第一家庭节点的节点评级。
具体地,所述第一访问数据为所述访问日志中与所述网络标签相关的访问数据,所述第一错误率用于指示所述第一家庭节点对于所述目标客户端的响应失败次数与调度次数之间的比值,例如,目标客户端向调度***发送数据请求,调度***将第一家庭节点调用给目标客户端进行访问的调度次数为10次,第一家庭节点响应目标客户端数据请求的响应失败次数为2次,则第一错误率为0.2。错误率越低,表示家庭节点的响应准确度越高,服务能力越强;错误率越高,表示家庭节点的响应准确度越低,服务能力越低。
所述第一慢速率用于指示所述第一家庭节点在响应所述目标客户端的过程中,响应速率未达到预设速率所对应的数据比例,预设速率可以为配置的速率值,也可以为第一家庭节点在响应目标客户端的过程中的平均速率,例如,设定的预设速率为1000kb/s,第一家庭节点在响应目标客户端发送的数据请求的过程,有8条响应数据的响应速率大于1000kb/s,有2条响应数据的响应速率小于1000kb/s,则第一慢速率为0.2。慢速率越高,表示家庭节点的响应速度越慢,服务能力越低;慢速率越低,表示家庭节点的响应速度越快,服务能力越强。
按照目标客户端的服务要求中的加权方案,对第一访问数据中的第一错误率和第一慢速率进行加权求和,服务要求中的加权方案用于指示用户对于响应准确率和响应速度的重视程度,在用户更重视响应准确度的情况下,第一错误率对应的第一权重值大于第一慢速率对应的第二权重值;在用户更重视响应速度的情况下,第一慢速率对应的第二权重值大于第一错误率对应的第一权重值,例如,目标客户端的服务要求中的第一权重值为0.4,第二权重值为0.6,第一慢速率为0.2,第一错误率为0.2,按照加权方案对第一错误率和第一慢速率进行加权求和,得到0.2*0.4+0.2*0.6=0.2,多个数值区间中的每个数值区间对应于一个节点评级,每个数值区间对应的数值范围可根据实际情况自定义,节点评级也可以用数字符合、字母符合或其他符合表示,若[0,0.1)对应第一评级,[0.1,0.2)对应第二评级,[0.2,0.3)对应第三评级,[0.3,0.4)对应第五评级,则将0.2位于的数值区间对应的第二评级作为第一家庭节点的节点评级。
在一个实施例中,所述根据访问日志中与所述网络标签不相关的访问数据,确定第二家庭节点的节点评级,包括:
对第二访问数据中的第二错误率和第二慢速率进行加权求和,并将多个数值区间中加权求和的结果所在的数值区间对应的节点评级,作为所述第二访问数据对应的第二家庭节点的节点评级,其中,
具体地,所述第二访问数据为所述访问日志中与所述网络标签不相关的访问数据,所述第二错误率用于指示所述第二家庭节点对于多个客户端的累计响应失败次数与累计调度次数之间的比值,例如,第二家庭节点曾为10个客户端提供过数据服务,对于这10个客户端,第二家庭节点被调度***调度响应数据请求的累计调度次数为50次,第二家庭节点在50次的调度过程中,累计响应失败次数为5次,则第二家庭节点的第二错误率为0.1。
所述第二慢速率用于指示所述第二家庭节点在响应多个客户端的过程中,响应速率未达到预设速率所对应的数据比例,例如,第二家庭节点曾为3个客户端提供过数据服务,设定的预设速率为1000kb/s,第二家庭节点在响应第一客户端的过程中,有6条响应数据的响应速率大于预设速率,有2条响应数据的响应速率小于预设速率,第一客户端为3个客户端中的一个;第二家庭节点在响应第二客户端的过程中,有5条响应数据的响应速率大于预设速率,有2条响应数据的响应速率小于预设速率;第二家庭节点在响应第三客户端的过程中,有4条响应数据的响应速率大于预设速率,有1条响应数据的响应速率小于预设速率,则第二家庭节点的第二慢速率为5/20=0.25。
按照目标客户端的服务要求中的加权方案,对第二访问数据中的第二错误率和第二慢速率进行加权求和,服务要求中的加权方案用于指示用户对于响应准确率和响应速度的重视程度,在用户更重视响应准确度的情况下,第二错误率对应的第一权重值大于第二慢速率对应的第二权重值;在用户更重视响应速度的情况下,第一慢速率对应的第二权重值大于第一错误率对应的第一权重值,例如,目标客户端的服务要求中的第一权重值为0.4,第二权重值为0.6,第二慢速率为0.25,第二错误率为0.1,按照加权方案对第一错误率和第一慢速率进行加权求和,得到0.4*0.1+0.6*0.25=0.19,多个数值区间中的每个数值区间对应于一个节点评级,每个数值区间对应的数值范围可根据实际情况自定义,节点评级也可以用数字符合、字母符合或其他符合表示,若[0,0.1)对应第一评级,[0.1,0.2)对应第二评级,[0.2,0.3)对应第三评级,[0.3,0.4)对应第五评级,则将0.19位于的数值区间对应的第二评级作为第二家庭节点的节点评级。
在一个实施例中,节点评级越高表示对应节点的服务能力越强,所述将服务能力满足所述目标客户端的服务要求、且存储文件包含所述目标内容、以及节点覆盖范围包含所述终端所在位置的家庭节点,作为所述目标家庭节点,包括:
在多个家庭节点的节点覆盖范围包含所述终端所在位置、且存储文件包含所述目标内容的情况下,将节点评级大于或等于所述目标客户端对应的预设评级的家庭节点,作为所述目标家庭节点。
具体地,由于节点评级用于指示响应慢速率和响应准确率,节点评级越高表示家庭节点的服务能力越强,在多个家庭节点的节点覆盖范围包含所述终端所在位置、且存储文件包含所述目标内容的情况下,为目标客户端分配服务能力达到服务要求的家庭节点。
调度***在每次接收到数据请求时,都会对所有的家庭节点进行节点评级,或是,定期对所管理的家庭节点进行节点评级,避免家庭节点发生异常或损坏之后,调度***仍将发生异常或损坏的家庭节点分配给客户端进行访问,影响用户的使用体验。调度***经常对家庭节点进行节点评级,即可实时根据上次为客户端提供数据服务的家庭节点的服务状态,调整下次为客户端提供数据服务的家庭节点,例如,根据家庭节点上次为客户端的服务状态发现服务能力下降,则下次客户端发起数据请求时,调度***将不会调用服务能力下降的家庭节点为客户端提供数据服务,可实现动态调整调度策略。
在一个实施例中,所述将服务能力满足所述目标客户端的服务要求、且存储文件包含所述目标内容、以及节点覆盖范围包含所述终端所在位置的家庭节点,作为所述目标家庭节点,包括:
在与所述网络标签相关的访问数据中,将与所述数据请求的业务类型相匹配的访问数据作为目标数据;
在所述目标数据对应的家庭节点的节点覆盖范围包含所述终端所在位置、且存储文件包含所述目标内容、且所述目标数据中的响应错误率小于或等于所述目标客户端对应的错误率阈值、以及所述目标数据中的响应慢速率小于或等于所述目标客户端对应的慢速率阈值的情况下,将所述目标数据对应的家庭节点作为目标家庭节点。
具体地,不同的业务类型对应的服务要求不同,例如,数据请求用于请求下载视频时所需要的错误率和慢速率,与数据请求用于请求下载文件时所需要的错误率和慢速率不同。在与网络标签相关的访问数据中,将与数据请求的业务类型相同的访问数据作为目标数据,也就是获取过去家庭节点在响应目标客户端相同业务类型的数据请求的服务状态,根据过去家庭节点响应目标客户端相同业务类型的数据请求的服务状态,判断是否符合当前目标客户端的服务要求,在所述目标数据对应的家庭节点的节点覆盖范围包含所述终端所在位置、且存储文件包含所述目标内容的情况下,若目标数据中的响应错误率小于或等于错误率阈值,且目标数据中的响应慢速率小于或等于慢速率阈值,表示目标数据对应的家庭节点符合当前目标客户端的服务要求;若目标数据中的响应错误率大于错误率阈值,或目标数据中的响应慢速率大于慢速率阈值,表示目标数据对应的家庭节点不符合目标客户端的服务要求。
例如,目标客户端的目标数据请求为视频下载请求,目标客户端的错误率阈值为0.1,慢速率阈值为0.2,调度***中的访问日志包括家庭节点A曾响应过目标客户端关于视频下载的数据请求的访问数据,基于该访问数据确定家庭节点A在响应过程中的响应慢速率为0.2、响应错误率为0.3,很明显家庭节点A的响应错误率大于目标客户端的错误率阈值,根据家庭节点A上次为目标客户端提供相同业务类型的数据服务,确定家庭节点A不适合为目标客户端提供关于视频下载的数据服务,则调度***不会将家庭节点A作为目标家庭节点分配给目标客户端。
在一个实施例中,所述发送所述目标加节点的链接地址至所述目标客户端之后,所述方法还包括:
接收所述目标家庭节点返回的反馈数据,其中,所述反馈数据用于指示所述目标家庭节点对于所述数据请求的响应状态;
在所述反馈数据中的响应状态为响应失败的情况下,执行根据访问日志中的访问数据,从多个家庭节点中匹配出用于响应所述目标数据请求的目标家庭节点的步骤。
具体地,在调度***将为目标客户端分配的目标家庭节点的链接地址发送给目标客户端之后,调度***根据目标家庭节点或目标客户端返回的反馈数据确定目标家庭节点对目标客户端的访问情况,在反馈数据表示响应失败的情况下,表示目标客户端向目标家庭节点发送了数据请求,但目标家庭节点并未按照目标客户端的服务要求为目标客户端提供数据服务,则调度***需要重新为目标客户端分配可访问的家庭节点,在重新为目标客户端分配家庭节点的过程中,参照上述实施例,将根据本次访问目标家庭节点的过程确定目标家庭节点对于目标客户端的节点评级,由于目标家庭节点响应失败,则目标家庭节点的节点评级将不满足目标客户端的服务要求,调度***不会将目标家庭节点分配给目标客户端提供相同业务类型的数据服务。
在一个实施例中,参照图3,本实施例提供了一种任务调度方法,应用于家庭节点,所述方法包括:
步骤S310,接收目标客户端的目标数据请求。
在本实施例中,所述目标数据请求用于请求下载目标内容,所述目标数据请求中携带有所述目标客户端的网络标签,网络标签是指目标客户端的唯一标识,网络标签具体可以为任意形式的符号,用于区别不同的客户端,。
步骤S320,在数据库中将所述目标内容作为响应返回至所述目标客户端。
在本实施例中,家庭节点的数据库中缓存有多个资源文件,在多个资源文件中查找与目标数据请求所要下载的目标内容,并将目标内容返回给目标客户端。
步骤S330,根据对所述目标数据请求的响应过程,生成与所述网络标签相关的访问数据。
在本实施例中,在家庭节点对于数据请求的响应过程会生成一个对应的访问数据,访问数据用于指示家庭节点响应目标客户端的数据请求过程中的服务状态,即每个访问数据对应携带有所服务过的客户端的网络标签。
步骤S340,发送所述访问数据至调度***。
在本实施例中,家庭节点将每次响应数据请求所生成的访问数据上报给调度***,令调度***根据访问数据分析家庭节点对于客户端的服务状态,便于后续调度***更精准地为客户端分配合适的家庭节点提供数据服务,为不同的客户端提供定制化服务。
在一个实施例中,所述根据对所述目标数据请求的响应过程,生成与所述网络标签相关的访问数据,包括:
根据对所述目标数据请求的响应过程,确定第一错误率和第一慢速率;根据所述第一错误率、所述第一慢速率以及所述家庭节点的属性信息,生成与所述网络标签相关的访问数据。
具体地,所述第一错误率用于指示所述家庭节点对于所述目标客户端的响应失败次数与调度次数之间的比值,所述第一慢速率用于指示所述家庭节点在响应所述目标客户端的过程中,响应速率未达到预设速率所对应的数据比例。所述属性信息包括所述节点的存储文件以及节点覆盖区域。
图2和图3分别为一个实施例中任务调度方法的流程示意图。应该理解的是,虽然图2和图3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2和图3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图4所示,提供了一种任务调度装置,包括:
第一接收模块410,用于接收目标客户端的目标数据请求,其中,所述目标数据请求用于请求下载目标内容;
节点分配模块420,用于根据访问日志中的访问数据,从多个家庭节点中匹配出用于响应所述目标数据请求的目标家庭节点,其中,所述访问日志包括所述多个家庭节点反馈至所述调度***的访问数据,每个所述访问数据用于指示一个家庭节点在响应数据请求时的服务状态,所述目标家庭节点中存储有所述目标内容;
发送模块430,用于发送所述目标家庭节点的链接地址至所述目标客户端,以指示所述目标客户端从所述目标家庭节点下载所述目标内容。
在一个实施例中,所述节点分配模块420还用于:
根据访问日志中的访问数据,确定各个家庭节点的服务能力、存储文件和节点覆盖范围;
将服务能力满足所述目标客户端的服务要求、且存储文件包含所述目标内容、以及节点覆盖范围包含所述终端所在位置的家庭节点,作为所述目标家庭节点。
在一个实施例中,所述节点分配模块420还用于:
根据访问日志中与所述网络标签相关的访问数据,确定第一家庭节点的节点评级,其中,所述第一家庭节点是指所述目标客户端发起数据请求的次数不为零的家庭节点,所述第一家庭节点的节点评级用于指示所述第一家庭节点对于所述目标客户端的服务能力;
根据访问日志中与所述网络标签不相关的访问数据,确定第二家庭节点的节点评级,其中,所述第二家庭节点是指所述目标客户端发起数据请求的次数为零的家庭节点,所述第二家庭节点的节点评级用于指示所述第二家庭节点对于多个客户端的服务能力。
在一个实施例中,所述节点分配模块420还用于:
对第一访问数据中的第一错误率和第一慢速率进行加权求和,并将多个数值区间中加权求和的结果所在的数值区间对应的节点评级,作为所述第一访问数据对应的第一家庭节点的节点评级,其中,所述第一访问数据为所述访问日志中与所述网络标签相关的访问数据,所述第一错误率用于指示所述第一家庭节点对于所述目标客户端的响应失败次数与调度次数之间的比值,所述第一慢速率用于指示所述第一家庭节点在响应所述目标客户端的过程中,响应速率未达到预设速率所对应的数据比例,所述多个数值区间中的每个数值区间对应于一个节点评级。
在一个实施例中,所述节点分配模块420还用于:
对第二访问数据中的第二错误率和第二慢速率进行加权求和,并将多个数值区间中加权求和的结果所在的数值区间对应的节点评级,作为所述第二访问数据对应的第二家庭节点的节点评级,其中,所述第二访问数据为所述访问日志中与所述网络标签不相关的访问数据,所述第二错误率用于指示所述第二家庭节点对于多个客户端的累计响应失败次数与累计调度次数之间的比值,所述第二慢速率用于指示所述第二家庭节点在响应多个客户端的过程中,响应速率未达到预设速率所对应的数据比例,所述多个数值区间中的每个数值区间对应于一个节点评级。
在一个实施例中,所述节点分配模块420还用于:
在多个家庭节点的节点覆盖范围包含所述终端所在位置、且存储文件包含所述目标内容的情况下,将节点评级大于或等于所述目标客户端对应的预设评级的家庭节点,作为所述目标家庭节点。
在一个实施例中,所述节点分配模块420还用于:
在与所述网络标签相关的访问数据中,将与所述数据请求的业务类型相匹配的访问数据作为目标数据;
在所述目标数据对应的家庭节点的节点覆盖范围包含所述终端所在位置、且存储文件包含所述目标内容、且所述目标数据中的响应错误率小于或等于所述目标客户端对应的错误率阈值、以及所述目标数据中的响应慢速率小于或等于所述目标客户端对应的慢速率阈值的情况下,将所述目标数据对应的家庭节点作为目标家庭节点。
在一个实施例中,所述第一接收模块410还用于:
接收所述目标家庭节点返回的反馈数据,其中,所述反馈数据用于指示所述目标家庭节点对于所述数据请求的响应状态;
在所述反馈数据中的响应状态为响应失败的情况下,执行根据访问日志中的访问数据,从多个家庭节点中匹配出用于响应所述目标数据请求的目标家庭节点的步骤。
在一个实施例中,如图5所示,本实施例提供了一种任务调度装置,应用于家庭节点,所述装置包括:
第二接收模块510,用于接收目标客户端的目标数据请求,其中,所述目标数据请求用于请求下载目标内容,所述目标数据请求中携带有所述目标客户端的网络标签;
响应模块520,用于在数据库中将所述目标内容作为响应返回至所述目标客户端;
数据生成模块530,用于根据对所述目标数据请求的响应过程,生成与所述网络标签相关的访问数据;
数据上报模块540,用于发送所述访问数据至调度***。
在一个实施例中,所述数据生成模块530还用于:
根据对所述目标数据请求的响应过程,确定第一错误率和第一慢速率,其中,所述第一错误率用于指示所述家庭节点对于所述目标客户端的响应失败次数与调度次数之间的比值,所述第一慢速率用于指示所述家庭节点在响应所述目标客户端的过程中,响应速率未达到预设速率所对应的数据比例;
根据所述第一错误率、所述第一慢速率以及所述家庭节点的属性信息,生成与所述网络标签相关的访问数据,其中,所述属性信息包括所述节点的存储文件以及节点覆盖区域。
图6示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的客户端110、家庭节点120或调度***130。如图6所示,该计算机设备包括该计算机设备包括通过***总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作***,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现任务调度方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行任务调度方法。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的任务调度装置可以实现为一种计算机程序的形式,计算机程序可在如图6所示的计算机设备上运行。计算机设备的存储器中可存储组成该任务调度装置的各个程序模块,比如,图4所示的第一接收模块410、节点分配模块420和发送模块430,图5所示的第二接收模块510、响应模块520、数据生成模块530和数据上报模块540。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的任务调度方法中的步骤。
图6所示的计算机设备可以通过如图4所示的任务调度装置中的第一接收模块410执行接收目标客户端的目标数据请求,其中,所述目标数据请求用于请求下载目标内容。计算机设备可通过节点分配模块420执行根据访问日志中的访问数据,从多个家庭节点中匹配出用于响应所述目标数据请求的目标家庭节点,其中,所述访问日志包括所述多个家庭节点反馈至所述调度***的访问数据,每个所述访问数据用于指示一个家庭节点在响应数据请求时的服务状态,所述目标家庭节点中存储有所述目标内容。计算机设备可通过发送模块430执行发送所述目标家庭节点的链接地址至所述目标客户端,以指示所述目标客户端从所述目标家庭节点下载所述目标内容。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述任一项实施例所述的方法。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任一项实施例所述的方法。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指示相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双倍速率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。