一种优化的调度方法及管理设备的制作方法

文档序号:6518571阅读:185来源:国知局
一种优化的调度方法及管理设备的制作方法
【专利摘要】本发明实施例提供了一种优化的调度方法及管理设备,涉及信息处理领域,用于降低网络流量,缩短待处理程序的处理时间。所述方法,包括:获取第一待处理程序与第一待处理程序所需的N个数据间的相关性系数;根据每一个处理设备的计算资源,在L个处理设备中确定出M个第一处理设备;获取第一待处理程序所需的N个数据与M个第一处理设备间的关联性系数;根据所述第一待处理程序所需的N个数据与M个第一处理设备间的关联性系数,从M个第一处理设备中确定出所述N个数据中每一个数据对应的备选目标处理设备;在备选目标处理设备中确定出目标处理设备;将所述第一待处理程序发送至所述目标处理设备。本发明实施例适用于任务调度的场景。
【专利说明】一种优化的调度方法及管理设备
【技术领域】
[0001]本发明涉及信息处理领域,尤其涉及一种优化的调度方法及管理设备。
【背景技术】
[0002]随着高性能低成本服务器的发展和软件技术的快速发展,计算存储合一的分布式处理系统、并行处理系统和虚拟化系统也随之发展,这些系统不使用外置的SAN(StorageArea Network,存储区域网络)/NAS (Network Attached Storage,网络附属存储)等存储设备,而是通过系统中的DAS (Direct Attached Storage,直接附加存储)将本地存储资源组成共享存储资源提供给系统中所有服务器使用。
[0003]在分布式处理系统、并行处理系统和虚拟化系统中,系统在执行待处理程序之前,首先,根据系统中各服务器上计算资源的状态,确定出该待处理程序将调度到哪一个服务器执行,然后,将该待处理程序调度到确定出的服务器上,最后,执行该待处理程序,待处理程序在执行时通过网络访问/传输所需要处理的数据。
[0004]在实现上述待处理程序调度的过程中,发明人发现现有技术中至少存在如下问题:由于系统采用本地共享存储时,所有数据在待处理程序到来之前已经随机或按照一定规则分配至系统中的各个服务器上,该待处理程序和该待处理程序需要处理的数据很有可能不在同一服务器上,所以该待处理程序所调度到的服务器需要通过网络传输大量的数据,不仅增加了网络流量,还延长了待处理程序处理的时间。

【发明内容】

[0005]本发明的实施例提供一种优化的调度方法及管理设备,用以降低网络流量,缩短待处理程序的处理时间。
[0006]为达到上述目的,本发明的实施例采用如下技术方案:
[0007]第一方面,本发明实施例提供了一种优化的调度方法,包括:在已存储的待处理程序与所述待处理程序所需的数据间的相关性系数中,获取第一待处理程序与所述第一待处理程序所需的N个数据间的相关性系数;所述N为不小于O的整数;根据每一个处理设备的计算资源,在L个处理设备中确定出M个第一处理设备;其中,所述L是处理设备的总个数,M是大于O不大于L的整数;在已存储的数据与处理设备间的关联性系数中,获取第一待处理程序所需的N个数据与所述M个第一处理设备间的关联性系数;其中,所述数据与处理设备间的关联性是指所述数据与存储所述数据的处理设备间的关联关系;根据所述第一待处理程序所需的N个数据与所述M个第一处理设备间的关联性系数,从所述M个第一处理设备中确定出所述N个数据中每一个数据对应的备选目标处理设备;在所述N个数据中每一个数据对应的备选目标处理设备中确定出目标处理设备;将所述第一待处理程序发送至所述目标处理设备。
[0008]在第一方面的第一种可能的实现方式中,在所述在已存储的待处理程序与所述待处理程序所需的数据间的相关性系数中,获取第一待处理程序与所述第一待处理程序所需的N个数据间的相关性系数之前,还包括:根据所述第一待处理程序所需N个数据中每一个数据的数据属性参数,确定第一待处理程序与所述第一待处理程序所需N个数据间的相关性系数,并更新在已存储的待处理程序与所述待处理程序所需的数据间的相关性系数;根据处理设备的属性参数,确定所述第一待处理程序所需N个数据与L个处理设备间的可用关联性系数,并更新已存储的数据与处理设备间的关联性系数。
[0009]结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述根据所述第一待处理程序所需N个数据中每一个数据的数据属性参数,确定第一待处理程序与所述第一待处理程序所需N个数据间的相关性系数,并更新已存储的待处理程序与所述待处理程序所需的数据间的相关性系数包括:根据所述第一待处理程序所需N个数据中每一个数据的数据属性参数,对所述第一待处理程序所需N个数据排序,依次对排序后的第一待处理程序所需N个数据中每一个数据,设置其与所述第一待处理程序间的相关性系数,并更新已存储的待处理程序与所述待处理程序所需的数据间的相关性系数;其中,排序后的所述每一个数据设置的相关性系数间的大小关系,与所述每一个数据的数据属性参数间的大小关系相对应。
[0010]结合第一方面的第一或第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述数据属性参数包括:数据的访问频率,数据的读写比例,数据的优先级中的至少一项。
[0011]结合第一方面的第一至三任一种可能的实现方式,在第一方面的第四种可能的实现方式中,所述根据处理设备的属性参数,确定所述第一待处理程序所需N个数据与L个处理设备间的关联性系数,并更新已存储的数据与处理设备间的关联性系数包括:根据处理设备的属性参数,确定所述第一待处理程序所需N个数据中每一个数据,在L个处理设备中每个处理设备中的存储状态;在确定出第一数据在第一处理设备中的存储状态为已存储时,设置所述第一数据与所述第一处理设备间的关联性系数为有效值;在确定出第一数据在第一处理设备中的存储状态为未存储时,设置所述第一数据与所述第一处理设备间的关联性系数为无效值,并更新已存储的数据与处理设备间的关联性系数;其中,所述第一数据是所述第一待处理程序所需N个数据中的任一个数据;所述第一处理设备是所述L个处理设备中的任一个处理设备。
[0012]结合第一方面的第四种可能的实现方式,在第一方面的第五种可能的实现方式中,在所述设置所述第一数据与所述第一处理设备间的关联性系数为有效值之后,还包括:根据所述处理设备的属性参数,对至少一个第一处理设备进行排序,依次对排序后的所述至少一个第一处理设备中的每一个处理设备,重设其与所述第一数据间的相关性系数,并更新已存储的数据与处理设备间的关联性系数;其中,所述第一处理设备是与所述第一数据的关联性系数为有效值的处理设备;所述至少一个第一处理设备重设的相关性系数间的大小关系,跟与所述至少一个第一处理设备的属性参数间的大小关系相对应。
[0013]结合第一方面的第四或第五种可能的实现方式,在第一方面的第六种可能的实现方式中,所述处理设备的属性参数包括:数据在处理设备的存储状态,或数据在处理设备的存储状态及处理设备的计算能力。
[0014]结合第一方面或第一方面的第一至第六任一种可能的实现方式,在第一方面的第七种可能的实现方式中,所述根据所述第一待处理程序所需的N个数据与所述M个第一处理设备间的关联性系数,从所述M个第一处理设备中确定出所述N个数据中每一个数据对应的备选目标处理设备包括:根据所述第一待处理程序所需的N个数据与所述M个第一处理设备间的关联性系数,从所述M个第一处理设备中,依次对所述第一待处理程序所需的N个数据中的一个数据,选出其与M个第一处理设备的关联性系数中,关联性系数最大值对应的处理设备;并将所述关联性系数最大值对应的处理设备确定为所述数据的备选目标处理设备。
[0015]结合第一方面或第一方面的第一至第七任一种可能的实现方式,在第一方面的第八种可能的实现方式中,在所述N个数据中每一个数据对应的备选目标处理设备中确定出目标处理设备之前还包括:根据所述第一待处理程序与所述第一待处理程序所需的N个数据间的相关性系数,及所述第一待处理程序所需的N个数据中每一个数据与其对应的备选目标处理设备间的关联性系数,获取所述第一待处理程序所需的N个数据中每一个数据对应的备选目标处理设备的可用性系数;所述在所述N个数据中每一个数据对应的备选目标处理设备中确定出目标处理设备包括:根据所述第一待处理程序所需的N个数据中每一个数据对应的备选目标处理设备的可用性系数,将可用性系数最大值对应的备选目标处理设备确定为目标处理设备。
[0016]第二方面,本发明实施例提供了一种管理设备,包括:获取单元,确定单元,发送单元;所述获取单元,用于在已存储的待处理程序与所述待处理程序所需的数据间的相关性系数中,获取第一待处理程序与所述第一待处理程序所需的N个数据间的相关性系数;所述N为不小于O的整数;所述确定单元,用于根据每一个处理设备的计算资源,在L个处理设备中确定出M个第一处理设备;其中,所述L是处理设备的总个数,M是大于O不大于L的整数;所述获取单元,还用于在已存储的数据与处理设备间的关联性系数中,获取第一待处理程序所需的N个数据与所述M个第一处理设备间的关联性系数;其中,所述数据与处理设备间的关联性是指所述数据与存储所述数据的处理设备间的关联关系;所述确定单元,还用于根据所述第一待处理程序所需的N个数据与所述M个第一处理设备间的关联性系数,从所述M个第一处理设备中确定出所述N个数据中每一个数据对应的备选目标处理设备;所述确定单元,还用于在所述N个数据中每一个数据对应的备选目标处理设备中确定出目标处理设备;所述发送单元,用于将所述第一待处理程序发送至所述目标处理设备。
[0017]在第二方面的第一种可能的实现方式中,还包括:控制单元;所述确定单元,还用于根据所述第一待处理程序所需N个数据中每一个数据的数据属性参数,确定第一待处理程序与所述第一待处理程序所需N个数据间的相关性系数;所述控制单元,用于更新已存储的待处理程序与所述待处理程序所需的数据间的相关性系数;所述确定单元,还用于根据处理设备的属性参数,确定所述第一待处理程序所需N个数据与L个处理设备间的关联性系数;所述控制单元,还用于更新已存储的数据与处理设备间的关联性系数。
[0018]结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述确定单元,具体用于根据所述第一待处理程序所需N个数据中每一个数据的数据属性参数,对所述第一待处理程序所需N个数据排序,依次对排序后的第一待处理程序所需N个数据中每一个数据,设置其与所述第一待处理程序间的相关性系数;其中,排序后的所述每一个数据设置的相关性系数间的大小关系,与所述每一个数据的数据属性参数间的大小关系相对应。[0019]结合第二方面的第一或第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述确定单元,具体用于根据处理设备的属性参数,确定所述第一待处理程序所需N个数据中每一个数据,在L个处理设备中每个处理设备中的存储状态;所述确定单元,具体用于在确定出第一数据在第一处理设备中的存储状态为已存储时,设置所述第一数据与所述第一处理设备间的关联性系数为有效值;在确定出第一数据在第一处理设备中的存储状态为未存储时,设置所述第一数据与所述第一处理设备间的关联性系数为无效值;其中,所述第一数据是所述第一待处理程序所需N个数据中的任一个数据;所述第一处理设备是所述L个处理设备中的任一个处理设备。
[0020]结合第二方面的第三种可能的实现方式,在第二方面的第四种可能的实现方式中,所述确定单元,具体用于根据所述处理设备的属性参数,对至少一个第一处理设备进行排序,依次对排序后的所述至少一个第一处理设备中的每一个处理设备,重设其与所述第一数据间的相关性系数,并更新已存储的数据与处理设备间的关联性系数;其中,所述第一处理设备是与所述第一数据的关联性系数为有效值的处理设备;所述至少一个第一处理设备重设的相关性系数间的大小关系,跟与所述至少一个第一处理设备的属性参数间的大小关系相对应。
[0021]结合第二方面或第二方面的第一至第四任一种可能的实现方式,在第二方面的第五种可能的实现方式中,所述确定单元,具体用于根据所述第一待处理程序所需的N个数据与所述M个第一处理设备间的关联性系数,从所述M个第一处理设备中,依次对所述第一待处理程序所需的N个数据中的一个数据,选出其与M个第一处理设备的关联性系数中,关联性系数最大值对应的处理设备;并将所述关联性系数最大值对应的处理设备确定为所述数据的备选目标处理设备。
[0022]结合第二方面或第二方面的第一至第五任一种可能的实现方式,在第二方面的第六种可能的实现方式中,所述获取单元,还用于根据所述第一待处理程序与所述第一待处理程序所需的N个数据间的相关性系数,及所述第一待处理程序所需的N个数据中每一个数据与其对应的备选目标处理设备间的关联性系数,获取所述第一待处理程序所需的N个数据中每一个数据对应的备选目标处理设备的可用性系数;所述确定单元,具体用于根据所述第一待处理程序所需的N个数据中每一个数据对应的备选目标处理设备的可用性系数,将可用性系数最大值对应的备选目标处理设备确定为目标处理设备。
[0023]第三方面,本发明实施例提供了一种管理设备,包括:处理器,发送器;所述处理器,用于在已存储的待处理程序与所述待处理程序所需的数据间的相关性系数中,获取第一待处理程序与所述第一待处理程序所需的N个数据间的相关性系数;所述N为不小于O的整数;所述处理器,还用于根据每一个处理设备的计算资源,在L个处理设备中确定出M个第一处理设备;其中,所述L是处理设备的总个数,M是大于O不大于L的整数;所述处理器,还用于在已存储的数据与处理设备间的关联性系数中,获取第一待处理程序所需的N个数据与所述M个第一处理设备间的关联性系数;其中,所述数据与处理设备间的关联性是指所述数据与存储所述数据的处理设备间的关联关系;所述处理器,还用于根据所述第一待处理程序所需的N个数据与所述M个第一处理设备间的关联性系数,从所述M个第一处理设备中确定出所述N个数据中每一个数据对应的备选目标处理设备;所述处理器,还用于在所述N个数据中每一个数据对应的备选目标处理设备中确定出目标处理设备;所述发送器,用于将所述第一待处理程序发送至所述目标处理设备。
[0024]在第三方面的第一种可能的实现方式中,所述处理器,还用于根据所述第一待处理程序所需N个数据中每一个数据的数据属性参数,确定第一待处理程序与所述第一待处理程序所需N个数据间的相关性系数;所述处理器,还用于更新已存储的待处理程序与所述待处理程序所需的数据间的相关性系数;所述处理器,还用于根据处理设备的属性参数,确定所述第一待处理程序所需N个数据与L个处理设备间的关联性系数;所述处理器,还用于更新已存储的数据与处理设备间的关联性系数。
[0025]结合第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,所述处理器,具体用于根据所述第一待处理程序所需N个数据中每一个数据的数据属性参数,对所述第一待处理程序所需N个数据排序,依次对排序后的第一待处理程序所需N个数据中每一个数据,设置其与所述第一待处理程序间的相关性系数;其中,排序后的所述每一个数据设置的相关性系数间的大小关系,与所述每一个数据的数据属性参数间的大小关系相对应。
[0026]结合第三方面的第一或第二种可能的实现方式,在第三方面的第三种可能的实现方式中,所述处理器,具体用于根据处理设备的属性参数,确定所述第一待处理程序所需N个数据中每一个数据,在L个处理设备中每个处理设备中的存储状态;所述处理器,具体用于在确定出第一数据在第一处理设备中的存储状态为已存储时,设置所述第一数据与所述第一处理设备间的关联性系数为有效值;在确定出第一数据在第一处理设备中的存储状态为未存储时,设置所述第一数据与所述第一处理设备间的关联性系数为无效值;其中,所述第一数据是所述第一待处理程序所需N个数据中的任一个数据;所述第一处理设备是所述L个处理设备中的任一个处理设备。
[0027]结合第三方面的第三种可能的实现方式,在第三方面的第四种可能的实现方式中,所述处理器,具体用于根据所述处理设备的属性参数,对至少一个第一处理设备进行排序,依次对排序后的所述至少一个第一处理设备中的每一个处理设备,重设其与所述第一数据间的相关性系数,并更新已存储的数据与处理设备间的关联性系数;其中,所述第一处理设备是与所述第一数据的关联性系数为有效值的处理设备;所述至少一个第一处理设备重设的相关性系数间的大小关系,跟与所述至少一个第一处理设备的属性参数间的大小关系相对应。
[0028]结合第三方面或第三方面的第一至第四任一种可能的实现方式,在第三方面的第五种可能的实现方式中,所述处理器,具体用于根据所述第一待处理程序所需的N个数据与所述M个第一处理设备间的关联性系数,从所述M个第一处理设备中,依次对所述第一待处理程序所需的N个数据中的一个数据,选出其与M个第一处理设备的关联性系数中,关联性系数最大值对应的处理设备;并将所述关联性系数最大值对应的处理设备确定为所述数据的备选目标处理设备。
[0029]结合第三方面或第三方面的第一至第五任一种可能的实现方式,在第三方面的第六种可能的实现方式中,所述处理器,还用于根据所述第一待处理程序与所述第一待处理程序所需的N个数据间的相关性系数,及所述第一待处理程序所需的N个数据中每一个数据与其对应的备选目标处理设备间的关联性系数,获取所述第一待处理程序所需的N个数据中每一个数据对应的备选目标处理设备的可用性系数;所述处理器,具体用于根据所述第一待处理程序所需的N个数据中每一个数据对应的备选目标处理设备的可用性系数,将可用性系数最大值对应的备选目标处理设备确定为目标处理设备。
[0030]本发明实施例提供一种优化的调度方法及管理设备,管理设备首先在已存储的待处理程序与所述待处理程序所需的数据间的相关性系数中,获取第一待处理程序与所述第一待处理程序所需的N个数据间的相关性系数,然后根据每一个处理设备的计算资源,在L个处理设备中确定出M个第一处理设备,并且在已存储的数据与处理设备间的关联性系数中,获取第一待处理程序所需的N个数据与所述M个第一处理设备间的关联性系数,接着根据所述第一待处理程序所需的N个数据与所述M个第一处理设备间的关联性系数,从所述M个第一处理设备中确定出所述N个数据中每一个数据对应的备选目标处理设备,最终从所述N个备选目标处理设备中选择目标处理设备,将所述第一待处理程序调度到目标处理设备执行。从而实现了将所述待处理程序调度到了与所述待处理程序所需的数据的可用性最大的处理设备中执行,减少了该待处理程序需要从网络中传输的数据,进而降低了网络流量,缩短了待处理程序的处理时间。
【专利附图】

【附图说明】
[0031]为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0032]图1为本发明实施例提供的一种优化的调度方法的流程示意图;
[0033]图2为本发明实施例提供的另一种优化的调度方法的流程示意图;
[0034]图3为本发明实施例提供的一种管理设备的功能示意图;
[0035]图4为本发明实施例提供的另一种管理设备的功能示意图;
[0036]图5为本发明实施例提供的一种管理设备的结构示意图。
【具体实施方式】
[0037]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0038]本发明实施例提供了一种优化的调度方法,如图1所示,包括:
[0039]101、在已存储的待处理程序与所述待处理程序所需的数据间的相关性系数中,获取第一待处理程序与所述第一待处理程序所需的N个数据间的相关性系数。
[0040]其中,所述N为不小于O的整数。
[0041]具体的,管理设备中已经存储了各个待处理程序与每一个处理设备上存储的数据之间的相关性系数,在第一待处理程序需要进行处理时,管理设备会根据所述第一待处理程序知道所述第一待处理程序需要使用的数据,然后在已经存储了各个处理程序与每一个处理设备上存储的数据之间的相关性系数中,查找出所述第一待处理程序与所述第一待处理程序所需的N个数据间的相关性系数。[0042]需要说明的是,所述第一待处理程序是所有待处理程序中的一个。所述第一待处理程序就是当前正要进行调度的处理程序。
[0043]需要说明的是,每一个待处理程序在进行调度之前会先由管理设备进行创建,管理设备在创建处理程序时会按照既定策略确定该处理程序与每一个处理设备中所存储的数据之间的相关性关系。此时,处理程序与每一个处理设备中所存储的数据之间的相关性关系可以用相关性系数表示,处理设备与存储的数据之间的相关性越大,那么该处理设备与该存储数据之间的相关性系数也就越大。
[0044]需要说明的是,每一个待处理程序在进行调度之前必须经过管理设备创建,每一个待处理程序在管理设备进行创建之后可以反复被调用。
[0045]需要说明的是,在待处理程序进行调度之前,每一个处理设备上存储的数据已经随机或按照一定规则存储在各个处理设备中。
[0046]需要说明的是,每一个处理设备既可以处理程序,也可以存储数据。
[0047]102、根据每一个处理设备的计算资源,在L个处理设备中确定出M个第一处理设备。
[0048]其中,所述L是处理设备的总个数,M是大于O不大于L的整数。
[0049]具体的,管理设备需要先判断所述所有L个处理设备中的那些设备能够有处理该待处理程序的能力。管理设备根据总的L个处理设备中每一个处理设备的计算资源,确定哪些处理设备能够处理所述第一待处理程序。
[0050]需要说明的是,所述M个第一处理设备就是从L个处理设备中能够处理所述第一待处理程序的所有处理设备。所以,选取出的第一处理设备的个数M的值一定是不大于所述处理设备的总个数L的值的正整数。
[0051]需要说明的是,管理设备选择能够处理该待处理程序的处理设备的方法与现有技术相同。具体的,由于每一个待处理程序的处理复杂度的不同,有的处理设备可以处理该待处理程序,有的设备不能处理该待处理程序,所以需要判断出能够处理该待处理程序的处理设备。
[0052]103、在已存储的数据与处理设备间的关联性系数中,获取第一待处理程序所需的N个数据与所述M个第一处理设备间的关联性系数。
[0053]具体的,管理设备在进行数据存储时,会根据预先设定的策略确定出每一个数据与所述L个存储设备之间的关联性系数,然后将每一个数据与每一个处理设备间的关联性系数存储下来。当确定出所述第一待处理程序所需的N个数据和所述能够处理所述第一待处理程序的M个处理设备之后,管理设备需要在已经存储的数据与处理设备间的关联性系数中,查找出第一待处理程序所需的N个数据中每一个数据与所述M个第一处理设备中每一个处理设备之间的关联性系数。
[0054]也就是说,管理设备在执行此步骤之后,会查找出NXM个数据与处理设备之间的关联性系数。其中,所述N个数据中每一个数据都能查找出该数据相对应的与所述M个处理设备之间的关联性系数。此时,管理设备就可以根据第一待处理程序与存储数据的相关性和存储数据与处理设备之间的关联性,得出第一待处理程序在考虑数据存储位置后与处理设备之间的关系。
[0055]需要说明的是,所述数据与处理设备间的关联性系数表示所述数据与各处理设备间的关联关系,所述数据与处理设备间的关联性系数越大,则表示该数据与该处理设备之间的关联性越大。
[0056]需要说明的是,所述第一待处理程序所需的数据个数N的值,与能够处理所述第一待处理程序的所述第一处理设备个数M的值之间没有关系。
[0057]104、根据所述第一待处理程序所需的N个数据与所述M个第一处理设备间的关联性系数,从所述M个第一处理设备中确定出所述N个数据中每一个数据对应的备选目标处
理设备。
[0058]进一步的,根据所述第一待处理程序所需的N个数据与所述M个第一处理设备间的关联性系数,从所述M个第一处理设备中,依次对所述第一待处理程序所需的N个数据中的一个数据,选出其与M个第一处理设备的关联性系数中,关联性系数最大值对应的处理设备,并将所述关联性系数最大值对应的处理设备确定为所述数据的备选目标处理设备。
[0059]也就是说,对于所述第一待处理程序所需的N个数据中的每一个数据来说,管理设备需要从该数据与所述M个处理设备之间的M个关联性系数中,选取关联性系数最大值对应的处理设备作为该数据的备选目标处理设备。
[0060]需要说明的是,所述第一待处理程序所需的每一个数据对应的备选目标处理设备是所述M个第一处理设备中与该数据关联性最大的处理设备。
[0061]需要说明的是,在执行本步骤之后,管理设备将会确定出来N个备选目标处理设备,所述第一待处理程序所需的N个数据中的每一个数据对应一个备选目标处理设备。
[0062]需要说明的是,对于所述第一待处理程序所需的N个数据中的不同的数据来说,所确定出的该数据对应的备选目标处理设备与另一数据对应的备选目标处理设备可能相同,也可能不同。也就是说,所述N个备选目标处理设备中可能会有多个数据对应的备选目标处理设备是同一处理设备的情况。
[0063]105、在所述N个数据中每一个数据对应的备选目标处理设备中确定出目标处理设备。
[0064]具体的,根据确定目标处理设备时考虑的因素不同,管理设备在所述N个备选目标处理设备中确定出出目标处理设备可以分为两种情况。
[0065]第一种情况,在所述N个数据中每一个数据对应的备选目标处理设备中,任意选取一个备选目标处理设备确定为目标处理设备。
[0066]需要说明的是,在已经确定出的N个备选目标处理设备中,每一个目标处理设备的选定已经考虑了所述第一待处理程序所需的数据与所述处理设备之间的关联性,所以,此时从所述N个备选目标处理设备任意选出一个处理设备为目标处理设备的方法,相比于不考虑待处理程序与所述待处理程序所需数据存储的位置选目标处理设备的方法来说已经有很大优化。
[0067]第二种情况,在所述N个数据中每一个数据对应的备选目标处理设备中确定出目标处理设备之前,根据所述第一待处理程序与所述第一待处理程序所需的N个数据间的相关性系数,及所述第一待处理程序所需的N个数据中每一个数据与其对应的备选目标处理设备间的关联性系数,获取所述第一待处理程序所需的N个数据中每一个数据对应的备选目标处理设备的可用性系数。然后,根据所述第一待处理程序所需的N个数据中每一个数据对应的备选目标处理设备的可用性系数,将可用性系数最大值对应的备选目标处理设备确定为目标处理设备。
[0068]具体的,管理设备根据所述第一待处理程序与所述第一待处理程序所需的N个数据间的相关性系数,及所述第一待处理程序所需的N个数据中每一个数据与其对应的备选目标处理设备间的关联性系数,可以通过一定的算法计算出所述第一待处理程序所需的N个数据中每一个数据对应的备选目标处理设备的可用性系数。然后根据计算出第一待处理程序所需的N个数据中每一个数据对应的备选目标处理设备的可用性系数进行排序,将可用性系数最大值对应的备选目标处理设备确定为最终的目标处理设备。
[0069]需要说明的是,管理设备通过一定的算法计算出所述第一待处理程序所需的N个数据中每一个数据对应的备选目标处理设备的可用性系数,可以为将所述第一待处理程序与所述第一待处理程序所需的N个数据间的相关性系数,加上所述第一待处理程序所需的N个数据中每一个数据与其对应的备选目标处理设备间的关联性系数之和,作为所述第一待处理程序所需的N个数据中每一个数据对应的备选目标处理设备的可用性系数。或者,也可以为将所述第一待处理程序与所述第一待处理程序所需的N个数据间的相关性系数乘以一个加权系数,所述第一待处理程序所需的N个数据中每一个数据与其对应的备选目标处理设备间的关联性系数乘以另一个加权系数,然后作和,得出的值作为所述第一待处理程序所需的N个数据中每一个数据对应的备选目标处理设备的可用性系数。或者是其他的算法,本发明对此不作限制。
[0070]需要说明的是,根据所述第一待处理程序所需的N个数据中每一个数据对应的备选目标处理设备的可用性系数选择目标处理设备,是综合考虑了所述第一待处理程序与所述第一待处理程序所需的N个数据间的相关性,及所述第一待处理程序所需的N个数据中每一个数据与其对应的备选目标处理设备间的关联性,而选择出的目标处理设备,所以所述目标处理设备是与所述第一待处理程序在考虑数据存储位置来说最优的处理设备。
[0071]106、将所述第一待处理程序发送至所述目标处理设备。
[0072]需要说明的是,将所述第一待处理程序发送至所述目标处理设备的过程,就是所述第一待处理程序进行调度的过程。
[0073]需要说明的是,所述第一待处理程序进行调度的过程和现有技术中将第一待处理程序调度到处理设备的方法相同,在此不再说明。
[0074]需要说明的是,将所述第一待处理程序调度到所述目标处理设备后,所述第一待处理程序需要在所述目标设备上执行,此时,除了所述待处理设备上存储的所述第一待处理程序所需的数据外,所述第一待处理程序所需的其他数据仍然需要通过系通过内部的网络进行调用。
[0075]本发明实施例提供了一种优化的调度方法,管理设备首先在已存储的待处理程序与所述待处理程序所需的数据间的相关性系数中,获取第一待处理程序与所述第一待处理程序所需的N个数据间的相关性系数,然后根据每一个处理设备的计算资源,在L个处理设备中确定出M个第一处理设备,并且在已存储的数据与处理设备间的关联性系数中,获取第一待处理程序所需的N个数据与所述M个第一处理设备间的关联性系数,接着根据所述第一待处理程序所需的N个数据与所述M个第一处理设备间的关联性系数,从所述M个第一处理设备中确定出所述N个数据中每一个数据对应的备选目标处理设备,最终从所述N个备选目标处理设备中选择目标处理设备,将所述第一待处理程序调度到目标处理设备执行。从而实现了将所述待处理程序调度到了与所述待处理程序所需的数据的可用性最大的处理设备中执行,减少了该待处理程序需要从网络中传输的数据,进而降低了网络流量,缩短了待处理程序的处理时间。
[0076]本发明实施例提供了一种优化的调度方法,如图2所示,包括:
[0077]201、根据所述第一待处理程序所需N个数据中每一个数据的数据属性参数,确定第一待处理程序与所述第一待处理程序所需N个数据间的相关性系数,并更新在已存储的待处理程序与所述待处理程序所需的数据间的相关性系数。
[0078]需要说明的是,管理设备在创建第一待处理程序时会给定所述第一待处理程序所需的数据,以便在第一待处理程序需要进行调度时只要判断出所需要处理的程序为哪一个待处理程序,就可以知道所述待处理程序所需的数据。
[0079]需要说明的是,管理设备仅设置第一待处理程序与所述第一待处理程序所需数据间的相关性系数,而不设置第一待处理程序与其他数据间的相关性系数,从而可以降低算法的计算量。
[0080]进一步的,管理设备可以根据所述第一待处理程序所需N个数据中每一个数据的数据属性参数,对所述第一待处理程序所需N个数据排序,依次对排序后的第一待处理程序所需N个数据中每一个数据,设置其与所述第一待处理程序间的相关性系数,并更新已存储的待处理程序与所述待处理程序所需的数据间的相关性系数。其中,所述排序后的第一待处理程序所需N个数据中每一个数据设置的相关性系数间的大小关系,与所述第一待处理程序所需N个数据中每一个数据的数据属性参数间的大小关系相对应。
[0081]可选的,所述数据属性参数包括:数据的访问频率,数据的读写比例,数据的优先级中的至少一项。
[0082]需要说明的是,所述数据属性参数还可以包括其他能用来确定数据与待处理程序间的相关性系数的其他信息,本发明对此不做限制。
[0083]具体的,在数据属性参数为数据的访问频率时,管理设备可以根据所述第一待处理程序所需N个数据中的每一个数据被访问的历史积累次数算出每一个数据的访问频率,然后根据每一个数据的访问频率的大小,对所述第一待处理程序所需的N个数据进行排序,接着,将所述N个数据中访问频率值最大的数据与第一待处理程序间的相关性系数设为所述第一待处理程序与所述第一待处理程序所需N个数据间的相关性系数中的最大值,将所述N个数据中访问频率值次大的数据与第一待处理程序间的相关性系数设为所述第一待处理程序与所述第一待处理程序所需N个数据间的相关性系数中的次大值,依照此规律,直至确定出第一待处理程序与所述第一待处理程序所需N个数据间的相关性系数。例如,所述第一待处理程序所需的数据为数据A与数据B,数据A历史记录中被访问过1000次,数据B历史记录中被访问过2000次,管理设备可以根据数据A与数据B历史记录中的访问次数,将所述数据A的访问频率设置为1000,数据B的访问频率设置为2000,然后根据数据的访问频率将数据A、B降序排列,得出的排列顺序为数据B、数据A,接着,将根据排列顺序,将第一待处理程序与访问频率值最大的数据B间的相关性系数设为所有相关性系数中的最大值1,将第一待处理程序与访问频率值次大的数据A间的相关性系数设为所有相关性系数中的次大值0.9。
[0084]或者,在数据属性参数为数据的读写比例时,管理设备可以根据待处理程序处理所需数据的处理方式(读操作或写操作),确定出待处理程序所需N个数据中的每一个数据以该处理方式被调用的比例,然后,根据每一个数据以该处理方式被调用的比例对待处理程序所需N个数据进行排序,接着,将所述N个数据中以该处理方式被调用的比例最大的数据与第一待处理程序间的相关性系数设为所述第一待处理程序与所述第一待处理程序所需N个数据间的相关性系数中的最大值,将所述N个数据中以该处理方式被调用的比例次大的数据与第一待处理程序间的相关性系数设为所述第一待处理程序与所述第一待处理程序所需N个数据间的相关性系数中的次大值,依照此规律,直至确定出第一待处理程序与所述第一待处理程序所需N个数据间的相关性系数。例如,所述第一待处理程序需要对数据进行读操作,所述第一待处理程序所需的数据为数据A与数据B,数据A历史记录中被调用过1000次,其中读操作900次,数据B历史记录中被调用过2000次,其中读操作1500次,管理设备可以根据数据A、B历史记录中被调用的总次数与读操作的次数相除,得出数据A的读比例为0.9,数据B的读比例为0.75,然后根据数据A、B的读比例,将数据A、B降序排列,得出的排列顺序为数据A、数据B,接着,将根据排列顺序,将第一待处理程序与读比例最大的数据A间的相关性系数设为所有相关性系数中的最大值0.9,将第一待处理程序与读比例次大的数据B间的相关性系数设为所有相关性系数中的次大值0.75。
[0085]或者,在数据属性参数为数据的优先级时,管理设备可以根据第一待处理程序对其所需数据的需求程度大小,确定出数据的优先级,然后,根据数据的优先级对所述第一待处理程序所需的N个数据进行排序,接着,将所述N个数据中数据的优先级值最大的数据与第一待处理程序间的相关性系数设为所述第一待处理程序与所述第一待处理程序所需N个数据间的相关性系数中的最大值,将所述N个数据中数据的优先级值次大的数据与第一待处理程序间的相关性系数设为所述第一待处理程序与所述第一待处理程序所需N个数据间的相关性系数中的次大值,依照此规律,直至确定出第一待处理程序与所述第一待处理程序所需N个数据间的相关性系数。例如,第一待处理程序所需的数据为数据A与数据B,所需数据的80%来自数据A,所需数据的20%来自数据B,则将数据A的优先级值设为0.8,数据B的优先级值设为0.2,然后根据数据A、B的优先级值,将数据A、B降序排列,得出的排列顺序为数据A、数据B,接着,将根据排列顺序,将第一待处理程序与优先级值最大的数据A间的相关性系数设为所有相关性系数中的最大值0.8,将第一待处理程序与优先级值次大的数据B间的相关性系数设为所有相关性系数中的次大值0.2。
[0086]或者,在数据属性参数为数据的访问频率和数据的读写比例时,管理设备可以根据数据的访问频率为第一待处理程序所需N个数据中的每一个数据设定第一系数,具体的,可参考在数据属性参数为数据的访问频率时,管理系统设置数据与所述第一待处理程序间的相关性系数的过程,再根据待处理程序处理所需数据的处理方式(读操作或写操作)为第一待处理程序所需N个数据中的每一个数据设定第二系数,具体的,可参考在数据属性参数为数据的读写比例时,管理系统设置数据与所述第一待处理程序间的相关性系数的过程,继而每一数据的将第一系数与第二系数相乘得出第一待处理程序与该数据的相关性系数。例如,第一待处理程序需要对数据进行读操作,并且所需的数据为数据A与数据B。数据A的历史记录中被访问的次数为1000次,其中,读操作900次,数据B的历史记录中被访问的次数为900次,其中,读操作450次,则将所述数据A的第一系数设为I ;则将所述数据B的第一系数设为0.9。接着,将数据A的第二系数设为0.9;数据B将数据B的第二系数设为0.5。最后,将数据A的第一系数与第二系数相乘得出数据A与第一待处理程序之间的相关性系数,为0.9,将数据B的第一系数与第二系数相乘得出数据B与第一待处理程序之间的相关性系数,为0.45。
[0087]或者,在数据属性参数为数据的访问频率和数据的优先级时,管理设备可以根据数据的访问频率为第一待处理程序所需N个数据中的每一个数据设定第一系数,具体的,可参考在数据属性参数为数据的访问频率时,管理系统设置数据与所述第一待处理程序间的相关性系数的过程,再根据第一待处理程序对不同数据的优先级设定第二系数,具体的,可参考在数据属性参数为数据的优先级时,管理系统设置数据与所述第一待处理程序间的相关性系数的过程,继而每一数据的将第一系数与第二系数相乘得出第一待处理程序与该数据的相关性系数。例如,第一待处理程序需要对数据进行读操作,并且所需的数据为数据A与数据B,其中,所需数据的80%来自数据A,20%来自数据B数据A的历史记录中被访问的次数为1000次,数据B的历史记录中被访问的次数为900次,则将所述数据A的第一系数设为1,将所述数据B的第一系数设为0.9。接着,将数据A的第二系数设为0.8,将数据B的第二系数设为0.2。最后,将数据A的第一系数与第二系数相乘得出数据A与第一待处理程序之间的相关性系数,为0.8,将数据B的第一系数与第二系数相乘得出数据B与第一待处理程序之间的相关性系数,为0.18。
[0088]或者,在数据属性参数为数据的读写比例和数据的优先级时,管理设备可以根据待处理程序处理所需数据的处理方式(读操作或写操作)为第一待处理程序所需N个数据中的每一个数据设定第一系数,具体的,可参考在数据属性参数为数据的读写比例时,管理系统设置数据与所述第一待处理程序间的相关性系数的过程,再根据第一待处理程序对不同数据的需求程度设定第二系数,具体的,可参考在数据属性参数为数据的优先级时,管理系统设置数据与所述第一待处理程序间的相关性系数的过程,继而每一数据的将第一系数与第二系数相乘得出第一待处理程序与该数据的相关性系数。例如,第一待处理程序需要对数据A与数据B进行读操作,其所需数据的80%来自数据A,20%来自数据B,数据A历史记录中被调用过1000次,其中读操作900次,数据B历史记录中被调用过2000次,其中读操作1500次,则可以将数据A的第一系数设为0.9,数据B的第一系数设为0.75。接着,则可以将数据A的第二系数设为0.8;将数据B的第二系数设为0.2。最后,将数据A的第一系数与第二系数相乘得出数据A与第一待处理程序之间的相关性系数,为0.72,将数据B的第一系数与第二系数相乘得出数据B与第一待处理程序之间的相关性系数,为0.15。
[0089]或者,在数据属性参数为数据的访问频率、数据的读写比例和数据的优先级时,首先,管理设备可以根据数据的访问频率为第一待处理程序所需N个数据中的每一个数据设定第一系数,具体的,可参考在数据属性参数为数据的访问频率时,管理系统设置数据与所述第一待处理程序间的相关性系数的过程,再根据第一待处理程序对不同数据的需求程度设定第二系数,具体的,可参考在数据属性参数为数据的需求程度时,管理系统设置数据与所述第一待处理程序间的相关性系数的过程,接着,可以根据第一待处理程序对不同数据的优先级,设定第三系数,具体的,可参考在数据属性参数为数据的优先级时,管理系统设置数据与所述第一待处理程序间的相关性系数的过程,继而每一数据的将第一系数与第二系数相乘得出第一待处理程序与该数据的相关性系数。最后,在生成数据与第一待处理程序间的相关性系数时,主要考虑数据的访问频率,次要考虑数据的读写比例和优先级,那么就可以将数据的第一系数乘以加权值0.6,数据的第二系数乘以加权值0.2,数据的第三系数乘以加权值0.2,再将各数据乘以加权值后的数值相加得出的值为确定出的该数据与第一待处理程序间的相关性系数。例如,第一待处理程序需要对所需的数据A与数据B进行读操作,数据A的历史记录中被访问过1000次,其中,读操作900次,且第一待处理程序所需的数据80%来自数据A;数据B的历史记录中被访问过2000次,其中,读操作1500次,且第一待处理程序所需的数据20%来自数据A.那么管理设备就可以首先将数据A的第一系数设为0.9,数据B的第一系数设为I ;然后,将数据A的第二系数设为0.9,数据B的第二系数设为0.75 ;接着,将数据A的第三系数设为0.8,数据B的第三系数设为0.2 ;最终将数据A的第第一系数乘以0.6加上数据A的第二系数乘以0.2再加上数据A的第三系数乘以
0.2,算出数据A与第一待处理程序间的相关性系数为0.88,同样的方法,可以算出数据A与第一待处理程序间的相关性系数为0.79。
[0090]需要说明的是,为了确保执行任务的可靠性,一般会将对待处理程序来说比较重要的值拷贝为多个副本存放在不同的处理设备中。当一个数据有多个副本时,可以将同一个数据的所有副本与所述第一待处理程序之间的相关性系数设置成相同的,也可以按照数据的完整性,和/或数据的读写比例将所述同一个数据的不同副本与所述第一待处理程序之间的相关性系数设置成不相同的。
[0091]需要说明的是,管理设备创建的待处理程序不止一个,在每次创建新的待处理程序时,都需要根据所述第一待处理程序所需N个数据中每一个数据的数据属性参数,确定待处理程序与所述待处理程序所需数据间的相关性系数,并将确定下来的相关性系数存储下来,即更新在已存储的待处理程序与所述待处理程序所需的数据间的相关性系数。
[0092]也就是说,管理设备会存储每一个待处理程序与每一个待处理程序所需数据间的相关性关系。
[0093]需要说明的是,所述N可以大于0,也可以为O。所述N大于O表示所述第一待处理程序与已经存储的数据有关联,此时,可以在已存储的待处理程序与所述待处理程序所需的数据间的相关性系数中,获取第一待处理程序与所述第一待处理程序所需的N个数据间的相关性系数。所述N为O表示所述第一待处理程序与已经存储的数据没有关联或没有设置关联关系,也就是说,所述第一待处理程序与所有处理设备之间没有数据上的关联,此时,管理设备可以将所述第一待处理程序与每一个处理设备中所存储的数据之间的相关性系数设置为O。
[0094]202、根据处理设备的属性参数,确定所述第一待处理程序所需N个数据与L个处理设备间的关联性系数,并更新已存储的数据与处理设备间的关联性系数。
[0095]需要说明的是,管理设备在创建待处理程序时会确定该待处理程序所需数据存放的位置,然后根据处理设备的属性参数确定所述待处理程序所需N个数据与所有的L个处理设备间的关联性系数。
[0096]可选的,所述处理设备的属性参数包括:数据在处理设备的存储状态。
[0097]具体的,管理设备可以根据处理设备的属性参数,确定所述第一待处理程序所需N个数据中每一个数据,在L个处理设备中每个处理设备中的存储状态,然后,在确定出第一数据在第一处理设备中的存储状态为已存储时,设置所述第一数据与所述第一处理设备间的关联性系数为有效值;在确定出第一数据在第一处理设备中的存储状态为未存储时,设置所述第一数据与所述第一处理设备间的关联性系数为无效值。例如,第一待处理程序所需的数据为数据A与数据B,能够处理该待处理程序的处理设备为处理设备a与处理设备b,首先,确定出数据A存储于处理设备a中,数据B存储于处理设备b中,然后,将数据A与处理设备a间的关联性系数可以设置为I,数据A与处理设备b间的关联性系数可以设置为
O,将数据B与处理设备a间的关联性系数可以设置为O,数据B与处理设备b间的关联性系数可以设置为I。
[0098]进一步的,所述处理设备的属性参数包括:数据在处理设备的存储状态及处理设备的计算能力。
[0099]具体的,管理设备可以根据所述处理设备的属性参数,对与所述第一数据的关联性系数为有效值的处理设备进行排序,依次对排序后的与所述第一数据的关联性系数为有效值的处理设备中的每一个处理设备,重设其与所述第一数据间的相关性系数。例如,管理设备在确定数据已经存储与处理设备的情况下,根据每个处理设备的SPEC (the StandardPerformance Evaluation Corporation标准性能评估测试)int (整数类型)值对处理设备进行排序,继而确定出数据与处理设备间的关联性系数。例如,第一待处理程序所需的数据为数据A与数据B,其中,所述数据A存储于处理设备I中,处理设备I的SPEC int值为800,所述数据B存储于处理设备2中,处理设备2的SPEC int值为500。管理设备根据处理设备I与处理设备2的SPEC int值对处理设备进行降序排列,得出排序为处理设备1、处理设备2,然后根据排序,依次将数据A与处理设备I间的关联性系数为0.8,数据B与处理设备2间的关联性系数为0.5。
[0100]需要说明的是,所述处理设备的属性参数还可以包括其他能用来确定数据与待处理程序间的相关性系数的其他信息,本发明对此不作限制。
[0101]需要说明的是,管理设备在每创建一个待处理程序时,都会执行一遍此步骤,来确定所述第一待处理程序所需N个数据与L个处理设备间的关联性系数,并将确定下来的关联性系数存储下来,即更新已存储的数据与处理设备间的关联性系数。
[0102]203、在已存储的待处理程序与所述待处理程序所需的数据间的相关性系数中,获取第一待处理程序与所述第一待处理程序所需的N个数据间的相关性系数。
[0103]具体的,可参考步骤101,在此不再赘述。
[0104]204、根据每一个处理设备的计算资源,在L个处理设备中确定出M个第一处理设备。
[0105]具体的,可参考步骤102,在此不再赘述。
[0106]205、在已存储的数据与处理设备间的关联性系数中,获取第一待处理程序所需的N个数据与所述M个第一处理设备间的关联性系数。
[0107]具体的,可参考步骤103,在此不再赘述。
[0108]206、根据所述第一待处理程序所需的N个数据与所述M个第一处理设备间的关联性系数,从所述M个第一处理设备中确定出所述N个数据中每一个数据对应的备选目标处
理设备。
[0109]具体的,可参考步骤104,在此不再赘述。
[0110]207、在所述N个数据中每一个数据对应的备选目标处理设备中确定出目标处理设备。[0111]具体的,可参考步骤105,在此不再赘述。
[0112]208、将所述第一待处理程序发送至所述目标处理设备。
[0113]具体的,可参考步骤106,在此不再赘述。
[0114]本发明实施例提供了一种优化的调度方法,管理设备首先在已存储的待处理程序与所述待处理程序所需的数据间的相关性系数中,获取第一待处理程序与所述第一待处理程序所需的N个数据间的相关性系数,然后根据每一个处理设备的计算资源,在L个处理设备中确定出M个第一处理设备,并且在已存储的数据与处理设备间的关联性系数中,获取第一待处理程序所需的N个数据与所述M个第一处理设备间的关联性系数,接着根据所述第一待处理程序所需的N个数据与所述M个第一处理设备间的关联性系数,从所述M个第一处理设备中确定出所述N个数据中每一个数据对应的备选目标处理设备,最终从所述N个备选目标处理设备中选择目标处理设备,将所述第一待处理程序调度到目标处理设备执行。从而实现了将所述待处理程序调度到了与所述待处理程序所需的数据的可用性最大的处理设备中执行,减少了该待处理程序需要从网络中传输的数据,进而降低了网络流量,缩短了待处理程序的处理时间。
[0115]如图3所示,本发明实施例提供了一种管理设备的功能示意图,参考图3所示,该管理设备包括:获取单元301,确定单元302,发送单元303。
[0116]所述获取单元301,用于在已存储的待处理程序与所述待处理程序所需的数据间的相关性系数中,获取第一待处理程序与所述第一待处理程序所需的N个数据间的相关性系数。
[0117]其中,所述N为不小于O的整数。
[0118]具体的,管理设备中已经存储了各个待处理程序与每一个处理设备上存储的数据之间的相关性系数,在第一待处理程序需要进行处理时,管理设备会根据所述第一待处理程序知道所述第一待处理程序需要使用的数据,然后所述获取单元301在已经存储了各个处理程序与每一个处理设备上存储的数据之间的相关性系数中根据所述查找出所述第一待处理程序与所述第一待处理程序所需的N个数据间的相关性系数。
[0119]需要说明的是,所述第一待处理程序是所有待处理程序中的一个。所述第一待处理程序就是当前正要进行调度的处理程序。
[0120]需要说明的是,每一个待处理程序在进行调度之前会先由管理设备进行创建,管理设备在创建处理程序时所述确定单元302会按照既定策略确定该处理程序与每一个处理设备中所存储的数据之间的相关性关系。此时,处理程序与每一个处理设备中所存储的数据之间的相关性关系可以用相关性系数表示,处理设备与存储的数据之间的相关性越大,那么该处理设备与该存储数据之间的相关性系数也就越大。
[0121]需要说明的是,每一个待处理程序在进行调度之前必须经过管理设备创建,每一个待处理程序在管理设备进行创建之后可以反复被调用。
[0122]需要说明的是,在待处理程序进行调度之前,每一个处理设备上存储的数据已经随机或按照一定规则存储在各个处理设备中。
[0123]需要说明的是,每一个处理设备既可以处理程序,也可以存储数据。
[0124]所述确定单元302,还用于根据每一个处理设备的计算资源,在L个处理设备中确定出M个第一处理设备。[0125]其中,所述L是处理设备的总个数,M是大于O不大于L的整数。
[0126]具体的,确定单元302需要先判断所述所有L个处理设备中的那些设备能够有处理该待处理程序的能力。确定单元302根据总的L个处理设备中每一个处理设备的计算资源来确定哪些处理设备能够处理所述第一待处理程序。
[0127]需要说明的是,所述M个第一处理设备就是从L个处理设备中确定出来的能够处理所述第一待处理程序的所有处理设备。所以,选取出的第一处理设备的个数M的值一定是不大于所述处理设备的总个数L的值的正整数。
[0128]需要说明的是,确定单元302选择能够处理该待处理程序的处理设备的方法与现有技术相同。具体的,由于每一个待处理程序的处理复杂度的不同,有的处理设备可以处理该待处理程序,有的设备不能处理该待处理程序,所以需要判断出能够处理该待处理程序的处理设备。
[0129]所述获取单元301,还用于在已存储的数据与处理设备间的关联性系数中,获取第一待处理程序所需的N个数据与所述M个第一处理设备间的关联性系数。
[0130]其中,所述数据与处理设备间的关联性是指所述数据与存储所述数据的处理设备间的关联关系。
[0131]具体的,管理设备在进行数据存储时,确定单元302会根据预先设定的策略确定出每一个数据与所述L个存储设备之间的关联性系数,然后将每一个数据与每一个处理设备间的关联性系数存储下来。当确定出所述第一待处理程序所需的N个数据和所述能够处理所述第一待处理程序的M个处理设备之后,获取单元301需要在已经存储的数据与处理设备间的关联性系数中,查找出第一待处理程序所需的N个数据中每一个数据与所述M个第一处理设备中每一个处理设备之间的关联性系数。
[0132]也就是说,获取单元301在执行此步骤之后,会查找出NXM个数据与处理设备之间的关联性系数。其中,所述第一待处理程序所需的N个数据中每一个数据都能查找出该数据相对应的与所述M个处理设备之间的关联性系数。此时,获取单元301就可以根据第一待处理程序与存储数据的相关性和存储数据与处理设备之间的关联性,得出第一待处理程序在考虑数据存储位置后与处理设备之间的关系。
[0133]需要说明的是,所述数据与处理设备间的关联性系数表示所述数据与各处理设备间的关联关系,所述数据与处理设备间的关联性系数越大,则表示该数据与该处理设备之间的关联性越大。
[0134]需要说明的是,所述第一待处理程序所需的数据个数N的值与能够处理所述第一待处理程序的所述第一处理设备个数M的值之间没有任何关系。
[0135]所述确定单元302,还用于根据所述第一待处理程序所需的N个数据与所述M个第一处理设备间的关联性系数,从所述M个第一处理设备中确定出所述N个数据中每一个数据对应的备选目标处理设备。
[0136]所述确定单元302,具体用于根据所述第一待处理程序所需的N个数据与所述M个第一处理设备间的关联性系数,从所述M个第一处理设备中,依次对所述第一待处理程序所需的N个数据中的一个数据,选出其与M个第一处理设备的关联性系数中,关联性系数最大值对应的处理设备;并将所述关联性系数最大值对应的处理设备确定为所述数据的备选目标处理设备。[0137]也就是说,对于所述第一待处理程序所需的N个数据中的每一个数据来说,确定单元302需要从该数据与所述M个处理设备之间的M个关联性系数选取关联性系数最大值对应的处理设备作为该数据的备选目标处理设备。
[0138]需要说明的是,所述第一待处理程序所需的每一个数据对应的备选目标处理设备是所述M个第一处理设备中与该数据关联性最大的处理设备。
[0139]需要说明的是,在执行本步骤之后,确定单元302将会确定出来N个备选目标处理设备,所述第一待处理程序所需的N个数据中的每一个数据对应一个备选目标处理设备。
[0140]需要说明的是,对于所述第一待处理程序所需的N个数据中的不同的数据来说,所确定出的该数据对应的备选目标处理设备与另一数据对应的备选目标处理设备可能相同,也可能不同。也就是说,所述N个备选目标处理设备中可能会有多个数据对应的备选目标处理设备是同一处理设备的情况。
[0141]所述确定单元302,还用于在所述N个数据中每一个数据对应的备选目标处理设备中确定出目标处理设备。
[0142]具体的,根据确定目标处理设备时考虑的因素不同,确定单元302在所述N个备选目标处理设备中确定出出目标处理设备可以分为两种情况。
[0143]第一种情况,确定单元302具体用于在所述N个数据中每一个数据对应的备选目标处理设备中,任意选取一个备选目标处理设备确定为目标处理设备。
[0144]需要说明的是,在已经确定出的N个备选目标处理设备中,每一个目标处理设备选定是已经考虑了所述第一待处理程序所需的数据与所述处理设备之间的关联性,所以,此时确定单元302从所述N个备选目标处理设备任意选出一个处理设备为目标处理设备的方法,相比于考虑待处理程序与所述待处理程序所需数据存储的位置的情况来说已经有很大优化。
[0145]第二种情况,确定单元302具体用于在所述N个数据中每一个数据对应的备选目标处理设备中确定出目标处理设备之前,所述获取单元301根据所述第一待处理程序与所述第一待处理程序所需的N个数据间的相关性系数,及所述第一待处理程序所需的N个数据中每一个数据与其对应的备选目标处理设备间的关联性系数,获取所述第一待处理程序所需的N个数据中每一个数据对应的备选目标处理设备的可用性系数。然后,确定单元302根据所述第一待处理程序所需的N个数据中每一个数据对应的备选目标处理设备的可用性系数,将可用性系数最大值对应的备选目标处理设备确定为目标处理设备。
[0146]具体的,确定单元302根据所述第一待处理程序与所述第一待处理程序所需的N个数据间的相关性系数,及所述第一待处理程序所需的N个数据中每一个数据与其对应的备选目标处理设备间的关联性系数,可以通过一定的算法计算出所述第一待处理程序所需的N个数据中每一个数据对应的备选目标处理设备的可用性系数。然后根据计算出第一待处理程序所需的N个数据中每一个数据对应的备选目标处理设备的可用性系数进行排序,将可用性系数最大值对应的备选目标处理设备确定为最终的目标处理设备。
[0147]需要说明的是,确定单元302通过一定的算法计算出所述第一待处理程序所需的N个数据中每一个数据对应的备选目标处理设备的可用性系数,可以为将所述第一待处理程序与所述第一待处理程序所需的N个数据间的相关性系数加上所述第一待处理程序所需的N个数据中每一个数据与其对应的备选目标处理设备间的关联性系数之和,作为所述第一待处理程序所需的N个数据中每一个数据对应的备选目标处理设备的可用性系数。或者也可以为将所述第一待处理程序与所述第一待处理程序所需的N个数据间的相关性系数乘以一个加权系数,所述第一待处理程序所需的N个数据中每一个数据与其对应的备选目标处理设备间的关联性系数乘以另一个加权系数,然后将作和,得出的值作为所述第一待处理程序所需的N个数据中每一个数据对应的备选目标处理设备的可用性系数。或者是其他的算法,本发明对此不作限制。
[0148]需要说明的是,根据所述第一待处理程序所需的N个数据中每一个数据对应的备选目标处理设备的可用性系数选择目标处理设备是综合考虑了所述第一待处理程序与所述第一待处理程序所需的N个数据间的相关性,及所述第一待处理程序所需的N个数据中每一个数据与其对应的备选目标处理设备间的关联性,而选择出的目标处理设备,所以所述目标处理设备是与所述第一待处理程序在考虑数据存储位置来说最优的处理设备。
[0149]所述发送单元303,用于将所述第一待处理程序发送至所述目标处理设备。
[0150]需要说明的是,所述发送单元303将所述第一待处理程序发送至所述目标处理设备的过程就是所述第一待处理程序进行调度的过程。
[0151]需要说明的是,所述第一待处理程序进行调度的过程和现有技术中将第一待处理程序调度到处理设备的方法相同,在此不再说明。
[0152]需要说明的是,将所述第一待处理程序调度到所述目标处理设备后,所述第一待处理程序需要在所述目标设备上执行,此时,除了所述待处理设备上存储的所述第一待处理程序所需的数据外,所述第一待处理程序所需的其他数据仍然需要通过系通过内部的网络进行调用。
[0153]进一步的,上述管理设备,如图4所示,还包括:控制单元304。
[0154]所述确定单元302,还用于根据所述第一待处理程序所需N个数据中每一个数据的数据属性参数,确定第一待处理程序与所述第一待处理程序所需N个数据间的相关性系数。
[0155]需要说明的是,管理设备在进行待处理程序创建时会给定所述待处理程序所需的数据。以便在第一待处理程序需要进行调度时只要判断出所需要处理的程序为哪一个待处理程序,就可以知道所述待处理程序所需的数据。
[0156]需要说明的是,所述确定单元302仅设置待处理程序与所述待处理程序所需数据间的相关性系数,而不设置待处理程序与其他数据间的相关性系数,从而可以降低算法的
计算量。
[0157]需要说明的是,所述数据属性参数包括:数据的访问频率,数据的读写比例,数据的优先级中的至少一项。
[0158]需要说明的是,所述数据属性参数还可以包括其他能用来确定数据与待处理程序间的相关性系数的其他信息,本发明对此不做限制。
[0159]所述确定单元302,具体用于根据所述第一待处理程序所需N个数据中每一个数据的数据属性参数,对所述第一待处理程序所需N个数据排序,依次对排序后的第一待处理程序所需N个数据中每一个数据,设置其与所述第一待处理程序间的相关性系数。其中,排序后的所述每一个数据设置的相关性系数间的大小关系,与所述每一个数据的数据属性参数间的大小关系相对应。[0160]需要说明的是,为了确保执行任务的可靠性,一般会将对待处理程序来说比较重要的值拷贝为多个副本存放在不同的处理设备中。当一个数据有多个副本时,所述确定单元302可以将同一个数据的所有副本与所述第一待处理程序之间的相关性系数设置成相同的,也可以按照数据的完整性,和/或数据的读写比例将所述同一个数据的不同副本与所述第一待处理程序之间的相关性系数设置成不相同的。
[0161]需要说明的是,管理设备创建的待处理程序不止一个,在每次创建新的待处理程序时,所述确定单元302都需要根据所述第一待处理程序所需N个数据中每一个数据的数据属性参数,确定待处理程序与所述待处理程序所需数据间的相关性系数。
[0162]也就是说,管理设备会存储每一个待处理程序与每一个待处理程序所需数据间的相关性关系。
[0163]需要说明的是,所述N可以大于0,也可以为O。所述N大于O表示所述第一待处理程序与已经存储的数据有关联,此时,所述获取单元301可以在已存储的待处理程序与所述待处理程序所需的数据间的相关性系数中,获取第一待处理程序与所述第一待处理程序所需的N个数据间的相关性系数。所述N为O表示所述第一待处理程序与已经存储的数据没有关联或没有设置关联关系,也就是说,所述第一待处理程序与所有处理设备之间没有数据上的关联,此时,管理设备可以将所述第一待处理程序与每一个处理设备中所存储的数据之间的相关性系数设置为O。
[0164]所述控制单元304,用于更新已存储的待处理程序与所述待处理程序所需的数据间的相关性系数。
[0165]具体的,所述控制单元304将所述确定单元302确定下来的相关性系数存储下来,即更新在已存储的待处理程序与所述待处理程序所需的数据间的相关性系数。
[0166]所述确定单元302,还用于根据处理设备的属性参数,确定所述第一待处理程序所需N个数据与L个处理设备间的关联性系数。
[0167]需要说明的是,管理设备在创建待处理程序时会确定该待处理程序所需数据存放的位置,然后所述确定单元302根据处理设备的属性参数确定所述待处理程序所需N个数据与所有的L个处理设备间的关联性系数。
[0168]可选的,所述处理设备的属性参数包括:数据在处理设备的存储状态。
[0169]所述确定单元302,具体用于根据处理设备的属性参数,确定所述第一待处理程序所需N个数据中每一个数据,在L个处理设备中每个处理设备中的存储状态。
[0170]所述确定单元302,具体用于在确定出第一数据在第一处理设备中的存储状态为已存储时,设置所述第一数据与所述第一处理设备间的关联性系数为有效值。在确定出第一数据在第一处理设备中的存储状态为未存储时,设置所述第一数据与所述第一处理设备间的关联性系数为无效值。其中,所述第一数据是所述第一待处理程序所需N个数据中的任一个数据。所述第一处理设备是所述L个处理设备中的任一个处理设备。
[0171]进一步的,所述处理设备的属性参数包括:数据在处理设备的存储状态及处理设备的计算能力。
[0172]所述确定单元302,具体用于根据所述处理设备的属性参数,对至少一个第一处理设备进行排序,依次对排序后的所述至少一个第一处理设备中的每一个处理设备,重设其与所述第一数据间的相关性系数,并更新已存储的数据与处理设备间的关联性系数。其中,所述第一处理设备是与所述第一数据的关联性系数为有效值的处理设备。所述至少一个第一处理设备重设的相关性系数间的大小关系,跟与所述至少一个第一处理设备的属性参数间的大小关系相对应。
[0173]需要说明的是,所述处理设备的属性参数还可以包括其他能用来确定数据与待处理程序间的相关性系数的其他信息,本发明对此不作限制。
[0174]需要说明的是,管理设备在每创建一个待处理程序时,所述确定单元302都会执行一遍此步骤,来确定所述第一待处理程序所需N个数据与L个处理设备间的关联性系数。
[0175]所述控制单元304,还用于更新已存储的数据与处理设备间的关联性系数。
[0176]具体的,所述控制单元304存储所述确定单元302确定下来的关联性系数,即为更新已存储的数据与处理设备间的关联性系数。
[0177]本发明实施例提供了一种管理设备,首先获取单元301在已存储的待处理程序与所述待处理程序所需的数据间的相关性系数中,获取第一待处理程序与所述第一待处理程序所需的N个数据间的相关性系数,然后确定单元302根据每一个处理设备的计算资源,在L个处理设备中确定出M个第一处理设备,并且获取单元301在已存储的数据与处理设备间的关联性系数中,获取第一待处理程序所需的N个数据与所述M个第一处理设备间的关联性系数,接着确定单元302根据所述第一待处理程序所需的N个数据与所述M个第一处理设备间的关联性系数,从所述M个第一处理设备中确定出所述N个数据中每一个数据对应的备选目标处理设备,最终从所述N个备选目标处理设备中选择目标处理设备,将所述第一待处理程序调度到目标处理设备执行。从而实现了将所述待处理程序调度到了与所述待处理程序所需的数据的可用性最大的处理设备中执行,减少了该待处理程序需要从网络中传输的数据,进而降低了网络流量,缩短了待处理程序的处理时间。
[0178]如图5所示,本发明实施例提供了一种管理设备的结构示意图,参考图5所示,该管理设备包括:处理器501,发送器502,存储器503。
[0179]所述处理器501,用于在已存储的待处理程序与所述待处理程序所需的数据间的相关性系数中,获取第一待处理程序与所述第一待处理程序所需的N个数据间的相关性系数。
[0180]其中,所述N为不小于O的整数。
[0181]具体的,存储器503中已经存储了各个待处理程序与每一个处理设备上存储的数据之间的相关性系数,在第一待处理程序需要进行处理时,管理设备会根据所述第一待处理程序知道所述第一待处理程序需要使用的数据,然后所述处理器501在已经存储了各个处理程序与每一个处理设备上存储的数据之间的相关性系数中根据所述查找出所述第一待处理程序与所述第一待处理程序所需的N个数据间的相关性系数。
[0182]需要说明的是,所述第一待处理程序是所有待处理程序中的一个。所述第一待处理程序就是当前正要进行调度的处理程序。
[0183]需要说明的是,每一个待处理程序在进行调度之前会先由管理设备进行创建,管理设备在创建处理程序时所述处理器501会按照既定策略确定该处理程序与每一个处理设备中所存储的数据之间的相关性关系。此时,处理程序与每一个处理设备中所存储的数据之间的相关性关系可以用相关性系数表示,处理设备与存储的数据之间的相关性越大,那么该处理设备与该存储数据之间的相关性系数也就越大。[0184]需要说明的是,每一个待处理程序在进行调度之前必须经过管理设备创建,每一个待处理程序在管理设备进行创建之后可以反复被调用。
[0185]需要说明的是,在待处理程序进行调度之前,每一个处理设备上存储的数据已经随机或按照一定规则存储在各个处理设备中。
[0186]需要说明的是,每一个处理设备既可以处理程序,也可以存储数据。
[0187]所述处理器501,还用于根据每一个处理设备的计算资源,在L个处理设备中确定出M个第一处理设备。
[0188]其中,所述L是处理设备的总个数,M是大于O不大于L的整数。
[0189]具体的,处理器501需要先判断所述所有L个处理设备中的那些设备能够有处理该待处理程序的能力。根据总的L个处理设备中每一个处理设备的计算资源来确定哪些处理设备能够处理所述第一待处理程序。
[0190]需要说明的是,所述M个第一处理设备就是从L个处理设备中确定出来的能够处理所述第一待处理程序的所有处理设备。所以,选取出的第一处理设备的个数M的值一定是不大于所述处理设备的总个数L的值的正整数。
[0191]需要说明的是,处理器501选择能够处理该待处理程序的处理设备的方法与现有技术相同。具体的,由于每一个待处理程序的处理复杂度的不同,有的处理设备可以处理该待处理程序,有的设备不能处理该待处理程序,所以需要判断出能够处理该待处理程序的处理设备。
[0192]所述处理器501,还用于在存储器503已存储的数据与处理设备间的关联性系数中,获取第一待处理程序所需的N个数据与所述M个第一处理设备间的关联性系数。
[0193]其中,所述数据与处理设备间的关联性是指所述数据与存储所述数据的处理设备间的关联关系。
[0194]具体的,存储器503在进行数据存储时,处理器501会根据预先设定的策略确定出每一个数据与所述L个存储设备之间的关联性系数,然后将每一个数据与每一个处理设备间的关联性系数存储下来。当确定出所述第一待处理程序所需的N个数据和所述能够处理所述第一待处理程序的M个处理设备之后,处理器501需要在已经存储的数据与处理设备间的关联性系数中,查找出第一待处理程序所需的N个数据中每一个数据与所述M个第一处理设备中每一个处理设备之间的关联性系数。
[0195]也就是说,处理器501在执行此步骤之后,会查找出NXM个数据与处理设备之间的关联性系数。其中,所述第一待处理程序所需的N个数据中每一个数据都能查找出该数据相对应的与所述M个处理设备之间的关联性系数。此时,处理器501就可以根据第一待处理程序与存储数据的相关性和存储数据与处理设备之间的关联性,得出第一待处理程序在考虑数据存储位置后与处理设备之间的关系。
[0196]需要说明的是,所述数据与处理设备间的关联性系数表示所述数据与各处理设备间的关联关系,所述数据与处理设备间的关联性系数越大,则表示该数据与该处理设备之间的关联性越大。
[0197]需要说明的是,所述第一待处理程序所需的数据个数N的值与能够处理所述第一待处理程序的所述第一处理设备个数M的值之间没有任何关系。
[0198]所述处理器501,还用于根据所述第一待处理程序所需的N个数据与所述M个第一处理设备间的关联性系数,从所述M个第一处理设备中确定出所述N个数据中每一个数据对应的备选目标处理设备。
[0199]所述处理器501,具体用于根据所述第一待处理程序所需的N个数据与所述M个第一处理设备间的关联性系数,从所述M个第一处理设备中,依次对所述第一待处理程序所需的N个数据中的一个数据,选出其与M个第一处理设备的关联性系数中,关联性系数最大值对应的处理设备;并将所述关联性系数最大值对应的处理设备确定为所述数据的备选目标处理设备。
[0200]也就是说,对于所述第一待处理程序所需的N个数据中的每一个数据来说,处理器501需要从该数据与所述M个处理设备之间的M个关联性系数选取关联性系数最大值对应的处理设备作为该数据的备选目标处理设备。
[0201]需要说明的是,所述第一待处理程序所需的每一个数据对应的备选目标处理设备是所述M个第一处理设备中与该数据关联性最大的处理设备。
[0202]需要说明的是,在执行本步骤之后,处理器501将会确定出来N个备选目标处理设备,所述第一待处理程序所需的N个数据中的每一个数据对应一个备选目标处理设备。
[0203]需要说明的是,对于所述第一待处理程序所需的N个数据中的不同的数据来说,所确定出的该数据对应的备选目标处理设备与另一数据对应的备选目标处理设备可能相同,也可能不同。也就是说,所述N个备选目标处理设备中可能会有多个数据对应的备选目标处理设备是同一处理设备的情况。
[0204]所述处理器501,还用于在所述N个数据中每一个数据对应的备选目标处理设备中确定出目标处理设备。
[0205]具体的,根据确定目标处理设备时考虑的因素不同,处理器401在所述N个备选目标处理设备中确定出出目标处理设备可以分为两种情况。
[0206]第一种情况,处理器501具体用于在所述N个数据中每一个数据对应的备选目标处理设备中,任意选取一个备选目标处理设备确定为目标处理设备。
[0207]需要说明的是,在已经确定出的N个备选目标处理设备中,每一个目标处理设备选定是已经考虑了所述第一待处理程序所需的数据与所述处理设备之间的关联性,所以,此时处理器501从所述N个备选目标处理设备任意选出一个处理设备为目标处理设备的方法,相比于考虑待处理程序与所述待处理程序所需数据存储的位置的情况来说已经有很大优化。
[0208]第二种情况,处理器501具体用于在所述N个数据中每一个数据对应的备选目标处理设备中确定出目标处理设备之前,根据所述第一待处理程序与所述第一待处理程序所需的N个数据间的相关性系数,及所述第一待处理程序所需的N个数据中每一个数据与其对应的备选目标处理设备间的关联性系数,获取所述第一待处理程序所需的N个数据中每一个数据对应的备选目标处理设备的可用性系数。然后,根据所述第一待处理程序所需的N个数据中每一个数据对应的备选目标处理设备的可用性系数,将可用性系数最大值对应的备选目标处理设备确定为目标处理设备。
[0209]具体的,处理器501根据所述第一待处理程序与所述第一待处理程序所需的N个数据间的相关性系数,及所述第一待处理程序所需的N个数据中每一个数据与其对应的备选目标处理设备间的关联性系数,可以通过一定的算法计算出所述第一待处理程序所需的N个数据中每一个数据对应的备选目标处理设备的可用性系数。然后根据计算出第一待处理程序所需的N个数据中每一个数据对应的备选目标处理设备的可用性系数进行排序,将可用性系数最大值对应的备选目标处理设备确定为最终的目标处理设备。
[0210]需要说明的是,处理器501通过一定的算法计算出所述第一待处理程序所需的N个数据中每一个数据对应的备选目标处理设备的可用性系数,可以为将所述第一待处理程序与所述第一待处理程序所需的N个数据间的相关性系数加上所述第一待处理程序所需的N个数据中每一个数据与其对应的备选目标处理设备间的关联性系数之和,作为所述第一待处理程序所需的N个数据中每一个数据对应的备选目标处理设备的可用性系数。或者也可以为将所述第一待处理程序与所述第一待处理程序所需的N个数据间的相关性系数乘以一个加权系数,所述第一待处理程序所需的N个数据中每一个数据与其对应的备选目标处理设备间的关联性系数乘以另一个加权系数,然后将作和,得出的值作为所述第一待处理程序所需的N个数据中每一个数据对应的备选目标处理设备的可用性系数。或者是其他的算法,本发明对此不作限制。
[0211]需要说明的是,根据所述第一待处理程序所需的N个数据中每一个数据对应的备选目标处理设备的可用性系数选择目标处理设备是综合考虑了所述第一待处理程序与所述第一待处理程序所需的N个数据间的相关性,及所述第一待处理程序所需的N个数据中每一个数据与其对应的备选目标处理设备间的关联性,而选择出的目标处理设备,所以所述目标处理设备是与所述第一待处理程序在考虑数据存储位置来说最优的处理设备。
[0212]所述发送器502,用于将所述第一待处理程序发送至所述目标处理设备。
[0213]需要说明的是,所述发送器502将所述第一待处理程序发送至所述目标处理设备的过程就是所述第一待处理程序进行调度的过程。
[0214]需要说明的是,所述第一待处理程序进行调度的过程和现有技术中将第一待处理程序调度到处理设备的方法相同,在此不再说明。
[0215]需要说明的是,将所述第一待处理程序调度到所述目标处理设备后,所述第一待处理程序需要在所述目标设备上执行,此时,除了所述待处理设备上存储的所述第一待处理程序所需的数据外,所述第一待处理程序所需的其他数据仍然需要通过系通过内部的网络进行调用。
[0216]进一步的,所述处理器501,还用于根据所述第一待处理程序所需N个数据中每一个数据的数据属性参数,确定第一待处理程序与所述第一待处理程序所需N个数据间的相关性系数。
[0217]需要说明的是,管理设备在进行待处理程序创建时会给定所述待处理程序所需的数据。以便在第一待处理程序需要进行调度时只要判断出所需要处理的程序为哪一个待处理程序,就可以知道所述待处理程序所需的数据。
[0218]需要说明的是,所述处理器501仅设置待处理程序与所述待处理程序所需数据间的相关性系数,而不设置待处理程序与其他数据间的相关性系数,从而可以降低算法的计
禅且昇里。
[0219]需要说明的是,所述数据属性参数包括:数据的访问频率,数据的读写比例,数据的优先级中的至少一项。
[0220]需要说明的是,所述数据属性参数还可以包括其他能用来确定数据与待处理程序间的相关性系数的其他信息,本发明对此不做限制。
[0221]所述处理器501,具体用于根据所述第一待处理程序所需N个数据中每一个数据的数据属性参数,对所述第一待处理程序所需N个数据排序,依次对排序后的第一待处理程序所需N个数据中每一个数据,设置其与所述第一待处理程序间的相关性系数。其中,排序后的所述每一个数据设置的相关性系数间的大小关系,与所述每一个数据的数据属性参数间的大小关系相对应。
[0222]需要说明的是,为了确保执行任务的可靠性,一般会将对待处理程序来说比较重要的值拷贝为多个副本存放在不同的处理设备中。当一个数据有多个副本时,所述处理器501可以将同一个数据的所有副本与所述第一待处理程序之间的相关性系数设置成相同的,也可以按照数据的完整性,和/或数据的读写比例将所述同一个数据的不同副本与所述第一待处理程序之间的相关性系数设置成不相同的。
[0223]需要说明的是,管理设备创建的待处理程序不止一个,在每次创建新的待处理程序时,所述处理器501都需要根据所述第一待处理程序所需N个数据中每一个数据的数据属性参数,确定待处理程序与所述待处理程序所需数据间的相关性系数。
[0224]也就是说,存储器503会存储每一个待处理程序与每一个待处理程序所需数据间的相关性关系。
[0225]需要说明的是,所述N可以大于0,也可以为O。所述N大于O表示所述第一待处理程序与已经存储的数据有关联,此时,所述处理器501可以在存储器503已存储的待处理程序与所述待处理程序所需的数据间的相关性系数中,获取第一待处理程序与所述第一待处理程序所需的N个数据间的相关性系数。所述N为O表示所述第一待处理程序与已经存储的数据没有关联或没有设置关联关系,也就是说,所述第一待处理程序与所有处理设备之间没有数据上的关联,此时,管理设备可以将所述第一待处理程序与每一个处理设备中所存储的数据之间的相关性系数设置为O。
[0226]所述处理器501,用于更新已存储的待处理程序与所述待处理程序所需的数据间的相关性系数。
[0227]具体的,所述处理器501将确定下来的相关性系数存储至存储器503,即更新在已存储的待处理程序与所述待处理程序所需的数据间的相关性系数。
[0228]所述处理器501,还用于根据处理设备的属性参数,确定所述第一待处理程序所需N个数据与L个处理设备间的关联性系数。
[0229]需要说明的是,管理设备在创建待处理程序时会确定该待处理程序所需数据存放的位置,然后所述处理器501根据处理设备的属性参数确定所述待处理程序所需N个数据与所有的L个处理设备间的关联性系数。
[0230]可选的,所述处理设备的属性参数包括:数据在处理设备的存储状态。
[0231]所述处理器501,具体用于根据处理设备的属性参数,确定所述第一待处理程序所需N个数据中每一个数据,在L个处理设备中每个处理设备中的存储状态。
[0232]所述处理器501,具体用于在确定出第一数据在第一处理设备中的存储状态为已存储时,设置所述第一数据与所述第一处理设备间的关联性系数为有效值。在确定出第一数据在第一处理设备中的存储状态为未存储时,设置所述第一数据与所述第一处理设备间的关联性系数为无效值。其中,所述第一数据是所述第一待处理程序所需N个数据中的任一个数据。所述第一处理设备是所述L个处理设备中的任一个处理设备。
[0233]进一步的,所述处理设备的属性参数包括:数据在处理设备的存储状态及处理设备的计算能力。
[0234]所述处理器501,具体用于根据所述处理设备的属性参数,对至少一个第一处理设备进行排序,依次对排序后的所述至少一个第一处理设备中的每一个处理设备,重设其与所述第一数据间的相关性系数,并更新已存储的数据与处理设备间的关联性系数。其中,所述第一处理设备是与所述第一数据的关联性系数为有效值的处理设备。所述至少一个第一处理设备重设的相关性系数间的大小关系,跟与所述至少一个第一处理设备的属性参数间的大小关系相对应。
[0235]需要说明的是,所述处理设备的属性参数还可以包括其他能用来确定数据与待处理程序间的相关性系数的其他信息,本发明对此不作限制。
[0236]需要说明的是,管理设备在每创建一个待处理程序时,所述处理器501都会执行一遍此步骤,来确定所述第一待处理程序所需N个数据与L个处理设备间的关联性系数。
[0237]所述处理器501,还用于更新已存储的数据与处理设备间的关联性系数。
[0238]所述处理器501,用于将确定下来的关联性系数存储至存储器503,即更新已存储的数据与处理设备间的关联性系数。
[0239]本发明实施例提供了一种管理设备,首先处理器501在存储器503中已存储的待处理程序与所述待处理程序所需的数据间的相关性系数中,获取第一待处理程序与所述第一待处理程序所需的N个数据间的相关性系数,然后处理器501根据每一个处理设备的计算资源,在L个处理设备中确定出M个第一处理设备,并且在存储器503中已存储的数据与处理设备间的关联性系数中,获取第一待处理程序所需的N个数据与所述M个第一处理设备间的关联性系数,接着处理器501根据所述第一待处理程序所需的N个数据与所述M个第一处理设备间的关联性系数,从所述M个第一处理设备中确定出所述N个数据中每一个数据对应的备选目标处理设备,最终从所述N个备选目标处理设备中选择目标处理设备,将所述第一待处理程序调度到目标处理设备执行。从而实现了将所述待处理程序调度到了与所述待处理程序所需的数据的可用性最大的处理设备中执行,减少了该待处理程序需要从网络中传输的数据,进而降低了网络流量,缩短了待处理程序的处理时间。
[0240]在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0241]所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0242]另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0243]上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、固态硬盘(solid state disk,简称SSD盘)、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码或数据的介质。
[0244]最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
【权利要求】
1.一种优化的调度方法,其特征在于,包括: 在已存储的待处理程序与所述待处理程序所需的数据间的相关性系数中,获取第一待处理程序与所述第一待处理程序所需的N个数据间的相关性系数;所述N为不小于O的整数; 根据每一个处理设备的计算资源,在L个处理设备中确定出M个第一处理设备;其中,所述L是处理设备的总个数,M是大于O不大于L的整数; 在已存储的数据与处理设备间的关联性系数中,获取第一待处理程序所需的N个数据与所述M个第一处理设备间的关联性系数;其中,所述数据与处理设备间的关联性是指所述数据与存储所述数据的处理设备间的关联关系;根据所述第一待处理程序所需的 N个数据与所述M个第一处理设备间的关联性系数,从所述M个第一处理设备中确定出所述N个数据中每一个数据对应的备选目标处理设备;在所述N个数据中每一个数据对应的备选目标处理设备中确定出目标处理设备; 将所述第一待处理程序发送至所述目标处理设备。
2.根据权利要求1所述的方法,其特征在于, 在所述在已存储的待处理程序与所述待处理程序所需的数据间的相关性系数中,获取第一待处理程序与所述第一待处理程序所需的N个数据间的相关性系数之前,还包括: 根据所述第一待处理程序所需N个数据中每一个数据的数据属性参数,确定第一待处理程序与所述第一待处理程序所需N个数据间的相关性系数,并更新已存储的待处理程序与所述待处理程序所需的数据间的相关性系数; 根据处理设备的属性参数,确定所述第一待处理程序所需N个数据与L个处理设备间的关联性系数,并更新已存储的数据与处理设备间的关联性系数。
3.根据权利要求2所述的方法,其特征在于, 所述根据所述第一待处理程序所需N个数据中每一个数据的数据属性参数,确定第一待处理程序与所述第一待处理程序所需N个数据间的相关性系数,并更新已存储的待处理程序与所述待处理程序所需的数据间的相关性系数包括: 根据所述第一待处理程序所需N个数据中每一个数据的数据属性参数,对所述第一待处理程序所需N个数据进行排序,依次对排序后的第一待处理程序所需N个数据中每一个数据,设置其与所述第一待处理程序间的相关性系数,并更新已存储的待处理程序与所述待处理程序所需的数据间的相关性系数;其中,排序后的所述每一个数据设置的相关性系数间的大小关系,与所述每一个数据的数据属性参数间的大小关系相对应。
4.根据权利要求2或3所述的方法,其特征在于, 所述数据属性参数包括:数据的访问频率,数据的读写比例,数据的优先级中的至少一项。
5.根据权利要求2-4任一项所述的方法,其特征在于, 所述根据处理设备的属性参数,确定所述第一待处理程序所需N个数据与L个处理设备间的关联性系数,并更新已存储的数据与处理设备间的关联性系数包括: 根据处理设备的属性参数,确定所述第一待处理程序所需N个数据中每一个数据,在L个处理设备中每个处理设备中的存储状态; 在确定出第一数据在第一处理设备中的存储状态为已存储时,设置所述第一数据与所述第一处理设备间的关联性系数为有效值;在确定出第一数据在第一处理设备中的存储状态为未存储时,设置所述第一数据与所述第一处理设备间的关联性系数为无效值,并更新已存储的数据与处理设备间的关联性系数;其中,所述第一数据是所述第一待处理程序所需N个数据中的任一个数据;所述第一处理设备是所述L个处理设备中的任一个处理设备。
6.根据权利要求5所述的方法,其特征在于, 在所述设置所述第一数据与所述第一处理设备间的关联性系数为有效值之后,还包括: 根据所述处理设备的属性参数,对至少一个第一处理设备进行排序,依次对排序后的所述至少一个第一处理设 备中的每一个处理设备,重设其与所述第一数据间的相关性系数,并更新已存储的数据与处理设备间的关联性系数;其中,所述第一处理设备是与所述第一数据的关联性系数为有效值的处理设备;所述至少一个第一处理设备重设的相关性系数间的大小关系,跟与所述至少一个第一处理设备的属性参数间的大小关系相对应。
7.根据权利要求5或6所述的方法,其特征在于, 所述处理设备的属性参数包括:数据在处理设备的存储状态,或数据在处理设备的存储状态及处理设备的计算能力。
8.根据权利要求1-7任一项所述的方法,其特征在于, 所述根据所述第一待处理程序所需的N个数据与所述M个第一处理设备间的关联性系数,从所述M个第一处理设备中确定出所述N个数据中每一个数据对应的备选目标处理设备包括: 根据所述第一待处理程序所需的N个数据与所述M个第一处理设备间的关联性系数,从所述M个第一处理设备中,依次对所述第一待处理程序所需的N个数据中的一个数据,选出其与M个第一处理设备的关联性系数中,关联性系数最大值对应的处理设备;并将所述关联性系数最大值对应的处理设备确定为所述数据的备选目标处理设备。
9.根据权利要求1-8任一项所述的方法,其特征在于, 在所述N个数据中每一个数据对应的备选目标处理设备中确定出目标处理设备之前还包括: 根据所述第一待处理程序与所述第一待处理程序所需的N个数据间的相关性系数,及所述第一待处理程序所需的N个数据中每一个数据与其对应的备选目标处理设备间的关联性系数,获取所述第一待处理程序所需的N个数据中每一个数据对应的备选目标处理设备的可用性系数; 所述在所述N个数据中每一个数据对应的备选目标处理设备中确定出目标处理设备包括: 根据所述第一待处理程序所需的N个数据中每一个数据对应的备选目标处理设备的可用性系数,将可用性系数最大值对应的备选目标处理设备确定为目标处理设备。
10.一种管理设备,其特征在于,包括:获取单元,确定单元,发送单元; 所述获取单元,用于在已存储的待处理程序与所述待处理程序所需的数据间的相关性系数中,获取第一待处理程序与所述第一待处理程序所需的N个数据间的相关性系数;所述N为不小于O的整数; 所述确定单元,用于根据每一个处理设备的计算资源,在L个处理设备中确定出M个第一处理设备;其中,所述L是处理设备的总个数,M是大于O不大于L的整数; 所述获取单元,还用于在已存储的数据与处理设备间的关联性系数中,获取第一待处理程序所需的N个数据与所述M个第一处理设备间的关联性系数;其中,所述数据与处理设备间的关联性是指所述数据与存储所述数据的处理设备间的关联关系; 所述确定单元,还用于根据所述获取单元获取的所述第一待处理程序所需的N个数据与所述M个第一处理设备间的关联性系数,从所述M个第一处理设备中确定出所述N个数据中每一个数据对应的备选目标处理设备; 所述确定单元,还用于在所述N个数据中每一个数据对应的备选目标处理设备中确定出目标处理设备; 所述发送单元,用于将所述第一待处理程序发送至所述确定单元确定的所述目标处理设备。
11.根据权利要求10所述的管理设备,其特征在于,还包括:控制单元; 所述确定单元,还用于根据所述第一待处理程序所需N个数据中每一个数据的数据属性参数,确定第一待处理程序与所述第一待处理程序所需N个数据间的相关性系数; 所述控制单元,用于更新已存储的待处理程序与所述待处理程序所需的数据间的相关性系数; 所述确定单元,还用于根据处理设备的属性参数,确定所述第一待处理程序所需N个数据与L个处理设备间的关联性系数; 所述控制单元,还用于更新已存储的数据与处理设备间的关联性系数。
12.根据权利要求11所述的管理设备,其特征在于,` 所述确定单元,具体用于根据所述第一待处理程序所需N个数据中每一个数据的数据属性参数,对所述第一待处理程序所需N个数据排序,依次对排序后的第一待处理程序所需N个数据中每一个数据,设置其与所述第一待处理程序间的相关性系数;其中,排序后的所述每一个数据设置的相关性系数间的大小关系,与所述每一个数据的数据属性参数间的大小关系相对应。
13.根据权利要求11或12所述的管理设备,其特征在于, 所述确定单元,具体用于根据处理设备的属性参数,确定所述第一待处理程序所需N个数据中每一个数据,在L个处理设备中每个处理设备中的存储状态; 所述确定单元,具体用于在确定出第一数据在第一处理设备中的存储状态为已存储时,设置所述第一数据与所述第一处理设备间的关联性系数为有效值;在确定出第一数据在第一处理设备中的存储状态为未存储时,设置所述第一数据与所述第一处理设备间的关联性系数为无效值;其中,所述第一数据是所述第一待处理程序所需N个数据中的任一个数据;所述第一处理设备是所述L个处理设备中的任一个处理设备。
14.根据权利要求13所述的管理设备,其特征在于, 所述确定单元,具体用于根据所述处理设备的属性参数,对至少一个第一处理设备进行排序,依次对排序后的所述至少一个第一处理设备中的每一个处理设备,重设其与所述第一数据间的相关性系数,并更新已存储的数据与处理设备间的关联性系数;其中,所述第一处理设备是与所述第一数据的关联性系数为有效值的处理设备;所述至少一个第一处理设备重设的相关性系数间的大小关系,跟与所述至少一个第一处理设备的属性参数间的大小关系相对应。
15.根据权利要求10-14任一项所述的管理设备,其特征在于, 所述确定单元,具体用于根据所述第一待处理程序所需的N个数据与所述M个第一处理设备间的关联性系数,从所述M个第一处理设备中,依次对所述第一待处理程序所需的N个数据中的一个数据,选出其与M个第一处理设备的关联性系数中,关联性系数最大值对应的处理设备;并将所述关联性系数最大值对应的处理设备确定为所述数据的备选目标处理设备。
16.根据权利要求10-15任一项所述的管理设备,其特征在于, 所述获取单元,还用于根据所述第一待处理程序与所述第一待处理程序所需的N个数据间的相关性系数,及所述第一待处理程序所需的N个数据中每一个数据与其对应的备选目标处理设备间的关联性系数,获取所述第一待处理程序所需的N个数据中每一个数据对应的备选目标处理设备的可用性系数; 所述确定单元,具体用于根据所述获取单元获取的所述第一待处理程序所需的N个数据中每一个数据对应的备选目标处理设备的可用性系数,将可用性系数最大值对应的备选目标处理设备确定为目标处理设备。
17.—种管理设备,其特征在于,包括:处理器,发送器; 所述处理器,用于在已存储的待处理程序与所述待处理程序所需的数据间的相关性系数中,获取第一待处理程序与所述第一待处理程序所需的N个数据间的相关性系数;所述N为不小于O的整数; 所述处理器,还用于根据每一个处理设备的计算资源,在L个处理设备中确定出M个第一处理设备;其中,所述L是处理设备的总个数,M是大于O不大于L的整数; 所述处理器,还用于在已存储的数据与处理设备间的关联性系数中,获取第一待处理程序所需的N个数据与所述M个第一处理设备间的关联性系数;其中,所述数据与处理设备间的关联性是指所述数据与存储所述数据的处理设备间的关联关系; 所述处理器,还用于根据所述第一待处理程序所需的N个数据与所述M个第一处理设备间的关联性系数,从所述M个第一处理设备中确定出所述N个数据中每一个数据对应的备选目标处理设备; 所述处理器,还用于在所述N个数据中每一个数据对应的备选目标处理设备中确定出目标处理设备; 所述发送器,用于将所述第一待处理程序发送至所述目标处理设备。
18.根据权利要求17所述的管理设备,其特征在于, 所述处理器,还用于根据所述第一待处理程序所需N个数据中每一个数据的数据属性参数,确定第一待处理程序与所述第一待处理程序所需N个数据间的相关性系数; 所述处理器,还用于更新已存储的待处理程序与所述待处理程序所需的数据间的相关性系数; 所述处理器,还用于根据处理设备的属性参数,确定所述第一待处理程序所需N个数据与L个处理设备间的关联性系数; 所述处理器,还用于更新已存储的数据与处理设备间的关联性系数。
19.根据权利要求18所述的管理设备,其特征在于,所述处理器,具体用于根据所述第一待处理程序所需N个数据中每一个数据的数据属性参数,对所述第一待处理程序所需N个数据排序,依次对排序后的第一待处理程序所需N个数据中每一个数据,设置其与所述第一待处理程序间的相关性系数;其中,排序后的所述每一个数据设置的相关性系数间的大小关系,与所述每一个数据的数据属性参数间的大小关系相对应。
20.根据权利要求18或19所述的管理设备,其特征在于, 所述处理器,具体用于根据处理设备的属性参数,确定所述第一待处理程序所需N个数据中每一个数据,在L个处理设备中每个处理设备中的存储状态; 所述处理器,具体用于在确定出第一数据在第一处理设备中的存储状态为已存储时,设置所述第一数据与所述第一处理设备间的关联性系数为有效值;在确定出第一数据在第一处理设备中的存储状态为未存储时,设置所述第一数据与所述第一处理设备间的关联性系数为无效值;其中,所述第一数据是所述第一待处理程序所需N个数据中的任一个数据;所述第一处理设备是所述L个处理设备中的任一个处理设备。
21.根据权利要求20所述的管理设备,其特征在于, 所述处理器,具体用于根据所述处理设备的属性参数,对至少一个第一处理设备进行排序,依次对排序后的所述至少一个第一处理设备中的每一个处理设备,重设其与所述第一数据间的相关性系数,并更新已存储的数据与处理设备间的关联性系数;其中,所述第一处理设备是与所述第一数据的关联性系数为有效值的处理设备;所述至少一个第一处理设备重设的相关性系 数间的大小关系,跟与所述至少一个第一处理设备的属性参数间的大小关系相对应。
22.根据权利要求17-21任一项所述的管理设备,其特征在于, 所述处理器,具体用于根据所述第一待处理程序所需的N个数据与所述M个第一处理设备间的关联性系数,从所述M个第一处理设备中,依次对所述第一待处理程序所需的N个数据中的一个数据,选出其与M个第一处理设备的关联性系数中,关联性系数最大值对应的处理设备;并将所述关联性系数最大值对应的处理设备确定为所述数据的备选目标处理设备。
23.根据权利要求17-22任一项所述的管理设备,其特征在于, 所述处理器,还用于根据所述第一待处理程序与所述第一待处理程序所需的N个数据间的相关性系数,及所述第一待处理程序所需的N个数据中每一个数据与其对应的备选目标处理设备间的关联性系数,获取所述第一待处理程序所需的N个数据中每一个数据对应的备选目标处理设备的可用性系数; 所述处理器,具体用于根据所述第一待处理程序所需的N个数据中每一个数据对应的备选目标处理设备的可用性系数,将可用性系数最大值对应的备选目标处理设备确定为目标处理设备。
【文档编号】G06F9/48GK103593240SQ201310557049
【公开日】2014年2月19日 申请日期:2013年11月8日 优先权日:2013年11月8日
【发明者】刘红霞 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1