Some content of this application is unavailable at the moment.
If this situation persist, please contact us atFeedback&Contact
1. (WO2018157768) METHOD AND DEVICE FOR SCHEDULING RUNNING DEVICE, AND RUNNING DEVICE
Document

说明书

发明名称 0001   0002   0003   0004   0005   0006   0007   0008   0009   0010   0011   0012   0013   0014   0015   0016   0017   0018   0019   0020   0021   0022   0023   0024   0025   0026   0027   0028   0029   0030   0031   0032   0033   0034   0035   0036   0037   0038   0039   0040   0041   0042   0043   0044   0045   0046   0047   0048   0049   0050   0051   0052   0053   0054   0055   0056   0057   0058   0059   0060   0061   0062   0063   0064   0065   0066   0067   0068   0069   0070   0071   0072   0073   0074   0075   0076   0077   0078   0079   0080   0081   0082   0083   0084   0085   0086   0087   0088   0089   0090   0091   0092   0093   0094   0095   0096   0097   0098   0099   0100   0101   0102   0103   0104   0105   0106   0107   0108   0109   0110   0111   0112   0113   0114   0115   0116   0117   0118   0119   0120   0121   0122   0123   0124   0125   0126   0127   0128   0129   0130   0131   0132   0133   0134   0135   0136   0137   0138   0139   0140   0141   0142   0143   0144   0145   0146   0147   0148   0149   0150   0151   0152   0153   0154   0155   0156   0157   0158   0159   0160   0161   0162   0163   0164   0165   0166   0167   0168   0169   0170   0171   0172   0173   0174   0175   0176   0177   0178   0179   0180   0181   0182   0183   0184   0185   0186   0187   0188   0189   0190   0191   0192   0193   0194   0195   0196   0197   0198   0199   0200   0201   0202   0203   0204   0205   0206   0207   0208   0209   0210   0211   0212   0213   0214   0215   0216   0217   0218   0219   0220   0221   0222   0223   0224   0225   0226   0227   0228   0229   0230   0231   0232   0233   0234   0235   0236   0237   0238  

权利要求书

1   2   3   4   5   6   7   8   9   10   11   12   13   14   15   16   17   18   19   20   21   22   23   24   25   26   27   28   29   30   31   32   33  

附图

1   2   3   4   5   6   7   8   9   10  

说明书

发明名称 : 调度运行设备的方法、设备和运行设备

[0001]
本申请要求于2017年02月28日提交中国专利局、申请号为201710112027.3、申请名称为“调度运行设备的方法、设备和运行设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。

技术领域

[0002]
本申请涉及通信领域,并且更具体地,涉及一种调度运行设备的方法、设备和运行设备。

背景技术

[0003]
随着信息网络在世界范围内的高速普及,基于互联网产生的数据迅速增长。如何处理海量的数据与服务,以有效地为用户提供方便、快捷的服务,已成为信息技术(Information Technology,IT)发展面临的一个重要问题。
[0004]
云计算能够以便利、按需的方式访问计算资源共享池,其中,计算机资源共享池中包括的资源可称为系统资源,该资源包括网络,服务器,存储,应用软件和服务等。现有的资源调度方案集中管理系统资源和作业调度,并且不能实时探知整个系统的资源使用情况,无法得到更优化的调度方案。
[0005]
因此,如何进行系统资源的管理和作业调度,合理利用系统资源是一项亟待解决的问题。
[0006]
发明内容
[0007]
本申请实施例提供了一种调度运行设备的方法、设备和运行设备,实现了分区管理系统资源,可以实时探知整个系统的资源使用情况,对运行设备进行合理的调度,合理利用系统资源。
[0008]
第一方面,提供了一种调度运行设备的方法,包括:向集群内的多个分区的控制设备发送测试任务,该多个分区中每个分区包括至少一个运行设备;获取该多个分区的控制设备发送的该测试任务的测试结果;根据该测试结果,从集群内的多个分区中选择用于执行第一任务的第一分区,该第一任务为执行的任务;向该第一分区的控制设备发送该第一任务,以便于该控制设备从该第一分区中选择执行该第一任务的目标运行设备。
[0009]
可选地,该中央控制设备和不同分区的控制设备可以为同一个设备。
[0010]
因此,在本申请实施例中,该中央控制设备向集群内的多个分区的控制设备发送测试任务,实现了以分区为单位合理调度运行设备,中央控制设备通过该测试任务的测试结果从集群内的多个分区中选择用于执行该第一任务的分区,选择了执行该第一任务的合适的分区,对集群内的系统资源进行了合理利用。
[0011]
在第一方面的一种可选实现方式中,该向集群内的多个分区的控制设备发送测试任 务,包括:将该第一任务封装为该测试任务;向该每个分区的控制设备发送该测试任务。
[0012]
可选地,该中央控制设备和/或该每个分区的控制设备可以属于该集群。
[0013]
可选地,该中央控制设备和/或该每个分区的控制设备可以不属于该集群。
[0014]
可选地,中央控制设备可以在多个分区内随机选择向至少一个分区的控制设备发送封装的该第一任务。
[0015]
在第一方面的一种可选实现方式中,该测试结果包括:该第一任务测试时的运行状态参数值、该第一任务能够承受的最大干扰强度和该第一任务对该运行设备产生的干扰强度中的至少一种。
[0016]
可选地,该第一任务测试时的运行状态参数包括以下一个或多个信息,如时延、每秒查询率、响应时间和吞吐率等指标。
[0017]
可选地,该中央控制设备选择影响该第一任务的一个或多个运行状态参数作为选择执行该第一任务的第一分区的指标。
[0018]
可选地,该中央控制设备根据该第一任务能够承受的最大干扰强度与每个分区的干扰强度的匹配度,选择执行该第一任务的第一分区。
[0019]
可选地,该中央控制设备根据该第一任务对运行设备产生的干扰强度和每个分区的干扰强度,选择执行该第一任务的第一分区。
[0020]
可选地,该中央控制设备还可以利用加权平均法,对性能测试的多个参数值,如时延、每秒查询率、响应时间、吞吐率和该第一任务能承受的最大干扰强度进行加权平均得到加权平均数来选择该运行设备的第一分区。
[0021]
此时,该中央控制设备根据多个分区中每个分区在对第一任务进行性能测试得到的参数值,从多个分区中选择用于执行该第一任务的分区,可以更精确的选择执行第一任务的分区,从而对系统资源进行了合理利用。
[0022]
在第一方面的一种可选实现方式中,在该获取第一任务之前,该方法还包括:在所述向集群内的多个分区的控制设备发送测试任务之前,所述方法还包括:
[0023]
获取所述集群内的多个运行设备的资源信息和/或干扰信息,其中,所述资源信息用于指示所述运行设备中能够使用的资源的情况,所述干扰信息包括所述运行设备上的任务对所述运行设备产生的干扰强度;根据所述多个运行设备的资源信息和/或干扰信息,将所述多个运行设备划分为所述多个分区;为所述每个分区分配控制设备。
[0024]
可选地,该运行设备中能够使用的资源的情况包括资源的使用率、资源的剩余率、已被使用的资源或可使用的资源。
[0025]
可选地,该运行设备上的第一任务对运行设备产生的干扰强度包括该运行设备上已经执行或正在执行的任务对运行设备产生的干扰强度。
[0026]
可选地,该中央控制设备和/或每个分区的控制设备可以属于该集群。
[0027]
可选地,该中央控制设备和/或每个分区的控制设备可以不属于该集群。
[0028]
此时,该中央控制设备为多个运行设备划分了分区,并为每个分区分配了控制设备,实现了以分区为单位进行资源管理,中央设备不再集中管理系统资源和任务调度,解决了系统资源扩大时,中央控制设备成为系统瓶颈的问题。
[0029]
在第一方面的一种可选实现方式中,当该目标运行设备完成该第一任务时,该方法还包括:该中央控制设备获取该目标运行设备的更新后的资源信息和/或干扰信息;根据该 目标运行设备发送的更新后的资源信息和/或干扰信息与多个分区范围取值的关系,将该目标运行设备所属分区从该第一分区更新为第二分区。
[0030]
可选地,该中央控制设备接收该运行设备发送的更新后的资源信息。
[0031]
可选地,该运行设备向该第一分区的控制设备发送更新后的资源信息,该第一分区的控制设备向该中央控制设备发送更新后的资源信息。
[0032]
在第一方面的一种可选实现方式中,将该目标运行设备所属分区从该第一分区更新为第二分区,包括:该中央控制设备向该第一分区的控制设备发送第一指示信息,该第一指示信息用于指示该第一分区的控制设备删除该执行该目标运行设备的信息;该中央控制设备向该目标运行设备发送第二指示信息,该第二指示信息用于指示该目标运行设备将该运行设备将所属分区从该第一分区更改为该第二分区。
[0033]
可选地,该中央控制设备向该目标运行设备发送第一指示信息,该第一指示信息用于指示该目标运行设备将该运行设备将所属分区从该第一分区更改为该第二分区;该中央控制设备向该第一分区的控制设备发送第二指示信息,该第二指示信息用于指示该第一分区的控制设备删除该执行该目标运行设备的信息。
[0034]
可选地,该中央该中央控制设备向该第一分区的控制设备发送第一指示信息,该第一指示信息用于指示该第一分区的控制设备删除该执行该目标运行设备的信息;在该中央控制设备收到该第一分区的控制设备发送的第二指示信息后,该中央控制设备向该目标运行设备发送第三指示信息,该第二指示用于指示该第一分区的控制设备已经删除该运行设备的信息,该第三指示信息用于指示该目标运行设备将该运行设备将所属分区从该第一分区更改为该第二分区。
[0035]
此时,该中央控制设备通过获取该运行设备更新后的资源信息,可以实时探知整个系统资源的使用情况,该中央控制设备根据更新后的资源信息和/或干扰信息,重新划分该运行设备的分区,从而实现了分区的动态划分,合理调度运行设备,合理使用系统资源。
[0036]
在第一方面的一种可选实现方式中,该运行设备的资源包括下列信息中的至少一项资源:该运行设备的存储信息;该运行设备的中央处理器信息;该运行设备的网络信息;该运行设备的异构加速信息和该运行设备的干扰信息。
[0037]
在第一方面的一种可选实现方式中,根据该多个运行设备的资源信息和/或干扰信息,将该多个运行设备划分为该多个分区划分,包括:根据该多个运行设备中每个运行设备的资源信息参数值与多个分区取值范围的关系,将每个运行设备划分到所对应的分区。
[0038]
可选地,根据每个运行设备的一种信息参数值与多个分区取值范围的关系,将每个运行设备划分到所对应的分区。
[0039]
可选地,根据每个运行设备的多种信息参数值,进行加权平均计算得到加权平均数来划分该运行设备的分区
[0040]
此时,该中央控制设备根据多个运行设备的资源信息和/或干扰信息与多个分区取值范围的关系对集群内的多个运行设备进行了分区,形成了多个分区,从而,以分区为单位进行系统资源管理和作业调度,对运行设备进行合理的调度,合理利用系统资源。
[0041]
在第一方面的一种可选实现方式中,该向集群内的多个分区的控制设备发送测试任务之前,该方法还包括:
[0042]
获取用户通过多个计算框架中的第一计算框架的接口输入的该第一任务;该向控制该 第一分区的控制设备发送该第一任务,包括:通过调用该第一计算框架向控制该第一分区的控制设备发送该第一任务。
[0043]
第二方面,提供了一种调度运行设备的方法,包括:该控制设备接收中央控制设备发送的测试任务,该控制设备用于管理集群中的多个分区中的第一分区内的至少一个运行设备;选择该分区中的至少一个运行设备进行该测试任务的测试;接收该进行该测试任务的测试的运行设备发送的该测试任务的测试参数值;向该中央控制设备发送该测试任务的测试参数值,用于该中央控制设备确定该第一任务的第一分区。
[0044]
因此,在本申请实施例中,该控制设备接收中央控制设备发送的测试任务并选择该分区中的至少一个运行设备进行该测试任务的性能测试,接收该进行该测试任务的性能测试的运行设备发送的该测试任务的性能测试参数值;向该中央控制设备发送该测试任务的性能测试参数值,使得中央控制设备选择了执行该第一任务的合理的分区,对集群内的系统资源进行了合理利用,对运行设备进行了合理调度。
[0045]
在第二方面的一种可选实现方式中,该控制设备接收中央控制设备发送的第一任务;选择所述第一分区内执行所述第一任务的目标运行设备;调度所述目标运行设备执行所述第一任务。
[0046]
在第二方面的一种可选实现方式中,选择该第一分区内执行该第一任务的目标运行设备,包括:根据对该第一任务进行测试的至少一个运行设备的测试参数值,从该第一任务进行测试的至少一个运行设备中,选择该目标运行设备。
[0047]
可选地,该控制设备可以在该第一分区任意选择一个运行设备执行该第一任务。
[0048]
在第二方面的一种可选实现方式中,该方法还包括:接收该中央控制设备发送的第一指示信息,该第一指示信息用于指示该控制设备删除该执行该第一任务的运行设备的信息;向该中央控制设备发送第二指示信息,该第二指示信息用于指示该控制设备已删除该目标运行设备的消息。
[0049]
第三方面,提供了一种调度运行设备的方法,包括:运行设备接收控制设备发送的测试任务,所述控制设备用于管理所述运行设备所在的第一分区,所述第一分区包括至少一个运行设备;
[0050]
测试所述测试任务,用于获取测试的所述测试任务的测试结果;
[0051]
向所述控制设备发送所述测试结果,用于所述控制设备向所述中央控制设备发送所述测试结果,以便于所述中央控制设备从多个分区选择执行第一任务的分区。
[0052]
因此,在本申请实施例中,该运行设备向该控制设备发送该测试结果,用于该控制设备向该中央控制设备发送该测试结果,以便于该中央控制设备从多个分区选择执行该第一任务的分区,该运行设备执行该控制设备发送的第一任务。从而,中央控制设备对运行设备进行合理的调度,为该第一任务合理的选择了运行设备,合理利用计算机资源。
[0053]
在第三方面的一种可选实现方式中,该运行设备接收所述控制设备发送的所述第一任务;执行所述第一任务。
[0054]
在第三方面的一种可选实现方式中,在该运行设备执行控制设备发送的第一任务之前,该方法还包括:向该中央控制设备或该运行设备所属的控制设备发送该运行设备的资源信息,用于中央控制设备对该运行设备进行分区的分配。
[0055]
在第三方面的一种可选实现方式中,该方法还包括:接收该中央控制设备或该运行设 备所属的控制设备发送的第一指示信息,该第一指示信息用于指示该运行设备将该运行设备所属的分区从第一分区更新为第二分区;向该第二分区的控制设备发送该运行设备的资源信息。
[0056]
第四方面,提供了一种调度运行设备的系统,该系统包括中央控制设备、多个控制设备和多个运行设备,其中,该多个运行设备被划分为多个分区,该多个分区中的每个分区包括至少一个运行设备,该多个控制设备中的每个控制设备分别控制该多个分区中的一个分区;
[0057]
该中央控制设备用于:向该多个控制设备发送测试任务;以及,接收该多个控制设备发送的该测试结果,根据该测试结果,从该多个分区中选择用于执行任务的第一分区,并向该第一分区的控制设备发送该任务。
[0058]
该控制设备用于:接收该中央控制设备发送的该测试任务,并向所控制的分区中的至少部分运行设备发送该测试任务;接收所控制的该至少部分运行设备发送的该测试结果,向该中央控制设备发送该测试结果;以及,接收该中央控制设备发送的该任务,选择所控制的分区内执行该任务的目标运行设备,以及调度所控制的分区内的目标运行设备执行该任务;
[0059]
该运行设备用于:接收控制设备发送的该测试任务,测试该测试任务,用于获取该测试任务的测试结果,并向各自的控制设备发送该测结果;以及,根据控制设备的调度,执行该任务。
[0060]
因此,在本申请实施例中,中央控制设备通过该测试任务的测试结果从集群内的多个分区中选择用于执行该第一任务的分区,选择了执行该第一任务的合理的分区,对集群内的系统资源进行了合理利用,对运行设备进行了合理调度。
[0061]
在第四方面的一种可选实现方式中,该中央控制设备还用于:封装该任务,用于获取该测试任务。
[0062]
在第四方面的一种可选实现方式中,该测试结果包括:该任务测试时的运行状态参数值、该任务能够承受的最大干扰强度和该任务对该运行设备产生的干扰强度中的至少一种。
[0063]
在第四方面的一种可选实现方式中,该中央控制设备还用:获取该多个运行设备的资源信息和/或干扰信息,其中,该资源信息用于指示该运行设备中能够使用的资源的情况,该干扰信息包括该运行设备上的任务对该运行设备产生的干扰强度;根据该多个运行设备的资源信息和/或干扰信息,将该多个运行设备划分为该多个分区;从该多个控制设备中,为该每个分区分配控制设备。
[0064]
在第四方面的一种可选实现方式中,该运行设备还用于:向中央控制设备或该运行设备所属的控制设备发送该运行设备更新后的资源信息和/或干扰信息;
[0065]
该控制设备还用于:接收该运行设备发送的该运行设备更新后的资源信息和/或干扰信息,以及向该中央控制设备发送该运行设备更新后的资源信息和/或干扰信息;
[0066]
该中央控制设备还用于:接收该运行设备或该运行设备所属的控制设备发送的该目标运行设备更新后的资源信息和/或干扰信息;根据该更新后的资源信息和/或干扰信息与多个分区取值范围的关系,更新该运行设备的所属分区。
[0067]
第五方面,提供了一种中央控制设备,用于执行上述第一方面或第一方面的任一种可 能的实现方式中的方法。具体地,该中央控制设备包括用于执行上述第一方面或第一方面的任一种可能的实现方式中的方法的模块单元。
[0068]
第六方面,提供了一种控制设备,用于执行上述第二方面或第二方面的任一种可能的实现方式中的方法。具体地,该控制设备包括用于执行上述第二方面或第二方面的任一种可能的实现方式中的方法的模块单元。
[0069]
第七方面,提供了一种运行设备,用于执行上述第三方面或第三方面的任一种可能的实现方式中的方法。具体地,该运行设备包括用于执行上述第三方面或第三方面的任一种可能的实现方式中的方法的模块单元。
[0070]
第八方面,提供了一种中央控制设备,用于执行上述第一方面或第一方面的任一种可能的实现方式中的方法,该中央控制设备包括处理器、存储器和收发器,该处理器用于调用存储器中存储的指令,执行上述第一方面或其任一种可选的实现方式中的方法。
[0071]
第九方面,提供了一种控制设备,用于执行上述第二方面或第二方面的任一种可能的实现方式中的方法,该中央控制设备包括处理器、存储器和收发器,该处理器用于调用存储器中存储的指令,执行第二方面或其任一种可选的实现方式中的方法。
[0072]
第十方面,提供了一种运行设备,用于执行上述第三方面或第三方面的任一种可能的实现方式中的方法,该中央控制设备包括处理器、存储器和收发器,该处理器用于调用存储器中存储的指令,执行第三方面或其任一种可选的实现方式中的方法。
[0073]
第十一方面,提供了一种计算机可读介质,用于存储计算机程序,该计算机程序包括用于执行上述第一方面或第一方面的任一种可能的实现方式,第二方面或第二方面的任一种可能的实现方式以及第三方面或第三方面的任一种可能的实现方式中的方法的指令。

附图说明

[0074]
图1是根据本申请实施例的集群通信系统的示意图。
[0075]
图2是根据本申请实施例的一种运行设备调度的方法的示意性流程图。
[0076]
图3是根据本申请实施例的划分运行设备分区的示意图。
[0077]
图4是根据本申请实施例的一种运行设备调度的方法的示意性流程图。
[0078]
图5是根据本申请实施例的分区动态划分的示意性图。
[0079]
图6是根据本申请实施例的中央控制设备的示意性框图。
[0080]
图7是根据本申请实施例的中央控制设备的示意性框图。
[0081]
图8是根据本申请实施例的控制设备的示意性框图。
[0082]
图9是根据本申请实施例的运行设备的示意性框图。
[0083]
图10是根据本申请实施例的一种通信设备的结构示意图。

具体实施方式

[0084]
下面将结合附图,对本申请中的技术方案进行描述。
[0085]
图1是本申请实施例的集群通信系统的示意图。如图1所示,该系统100包括中央控制设备,控制设备和运行设备。该中央控制设备包括中央控制设备101,该控制设备包括控制设备110和控制设备111,该运行设备包括运行设备120、运行设备121、运行设备122和运行设备123。
[0086]
该所有运行设备构成集群,所有运行设备的资源成为资源共享池,该资源共享池的资源包括每个运行设备的中央处理器资源、每个运行设备的磁盘阵列资源、每个运行设备的固态硬盘(Solid State Drives,SSD)存储资源,每个运行设备的网络资源,每个运行设备的异构加速资源。
[0087]
其中,网络资源包括网络拓扑和网络带宽,异构加速资源包括GPU、GPGPU、GPDSP、ASIC、FPGA和其它类型的众核处理器等资源。
[0088]
应理解,该中央控制设备和/或该控制设备也可以在集群内,即可以选择集群内的运行设备作为整个集群的中央控制设备或分区的控制设备。
[0089]
运行设备120和运行设备121属于同一分区,控制设备110用于对该分区进行资源管理和任务调度。运行设备122和运行设备123属于同一分区,控制设备111用于对该分区进行资源管理和任务调度。中央控制设备101用于为任务选择分区并将该任务发送给选择的分区的控制设备,该分区的控制设备调度分区内的运行设备执行该任务。该分区是指该包括集群内的一些运行设备的一个逻辑区域,处于同一分区的多个运行设备的资源的使用情况处于同一范围和/或处于同一分区的多个运行设备上的任务对所述运行设备产生的干扰强度处于同一范围。
[0090]
中央控制设备上承载各类计算框架,例如Hadoop、Spark、MPI和Storm等计算框架。Hadoop是一个在计算机上分布式处理数据的计算框架,适用于离线大批量数据处理;Spark是一种基于内存计算的并行计算框架,它将数据尽可能放到内存中以提高迭代应用和交互式应用的计算效率,不能用于处理需要长期保存的数据;MPI是一种基于消息传递的并行计算框架,适用于各种复杂应用的并行计算,支持多程序多数据;Storm是一种在线实时处理计算框架,不进行数据的收集和存储工作,直接通过网络实时接收数据并且实时处理数据。用户通过计算框架上的接口提交任务,中央控制设备根据不同的任务类型启动相应的计算框架。各类计算框架用于管理任务和将该任务发送给分区的控制设备。
[0091]
可选地,该运行设备可以为物理服务器、也可以是虚拟机和容器。
[0092]
图1所示的系统仅仅为了更加清楚地理解本申请,不应对本申请实施例构成特别的限定。例如,除了控制设备110和控制设备111,中央控制设备还可以管理其他控制设备,且每个控制设备可以不仅调度两个运行设备,还可以仅调度一个或调度三个以上的运行设备。
[0093]
为了更好地理解本申请,以下将结合图2-图10,以与图1所示的系统相同或相似的系统为例对本申请实施例进行说明。
[0094]
图2是根据本申请实施例的一种运行设备调度的方法200的示意性流程图。如图2示出了两个控制设备,分别为控制设备1和控制设备2,该控制设备1控制运行设备11,该控制设备2控制运行设备21,这只是为了方便描述,不应对本申请实施例构成特别的限定。例如,除了控制设备1和控制设备1,中央控制设备还可以管理其他控制设备,且每个控制设备可以不仅控制一个运行设备,还可以仅控制多个运行设备。
[0095]
如图2所示,该方法200包括以下内容。
[0096]
在201中,向集群内的多个分区的控制设备发送该测试任务,该测试任务为第一任务的测试任务,该多个分区中每个分区包括至少一个运行设备。
[0097]
例如,如图2所示,中央控制设备向控制设备1和控制设备2发送该测试任务。
[0098]
可选地,在向集群内的多个分区的控制设备发送该测试任务之前,该方法还包括获取第一任务。
[0099]
可选地,用户在中央控制设备上提交该第一任务。
[0100]
可选地,用户在客户端上提交该第一任务,由客户端向中央控制设备发送该第一任务。
[0101]
可选地,该第一任务包括长任务和批量运算任务等。长任务是指长时间在平台中运行的任务,如WEB服务程序;批任务是指一次进行大量计算但时间短的任务,如Hadoop的大数据处理。
[0102]
应理解,在中央控制设备获取第一任务之前,中央控制设备可以已经对集群内的多个运行设备划分了分区。具体而言,如图3所示。
[0103]
图3是根据本申请实施例的一种运行设备调度的方法的划分运行设备的分区示意图。中央控制设备获取该集群内的多个运行设备的资源信息和/或干扰信息,对集群内的运行设备划分分区,分配每个分区的控制设备。如图3所示,运行设备0、运行设备1和运行设备2属于分区1,控制设备1管理分区1;运行设备3、运行设备4和运行设备5为分区2,控制设备2管理分区2;运行设备7、运行设备8和运行设备9为分区3,控制设备3管理分区3。
[0104]
其中,集群内的多个运行设备可以通过代理插件收集该运行设备的资源信息和/或干扰信息,并且向该中央控制设备发送该运行设备的资源信息和/或干扰信息。
[0105]
可选地,该资源信息用于指示该运行设备中能够使用的资源的情况,该干扰信息包括该运行设备上的任务对该运行设备产生的干扰强度。
[0106]
可选地,本申请实施例提到的运行设备的能够使用的资源包括运行设备的中央处理器资源、运行设备的磁盘阵列资源、运行设备的固态硬盘(Solid State Drives,SSD)存储资源、运行设备的网络资源和运行设备的异构加速资源中的至少一种。该运行设备中能够使用的资源的情况包括运行设备可使用的资源、已使用的资源、资源的使用率或资源的剩余率。
[0107]
可选地,中央控制设备获取集群内的多个运行设备的干扰信息,可以根据多个运行设备的干扰信息,对集群内的运行设备进行分区的划分。该干扰信息可以包括运行设备中运行的任务对运行设备的中央处理器、内存、网络等产生的干扰强度,不同的干扰对该第二的任务的影响不一样,可以选择对该第一任务干扰较小的分区执行该第一任务。
[0108]
可选地,通过应用资源干扰模型获取第一任务对运行设备产生的干扰和第一任务自身能承受的干扰,其中应用资源干扰模型是一种软件程序,用来描述应用对系统资源(15种)产生的干扰和应用自身能承受的干扰。如表1所示:
[0109]
表1.应用资源干扰模型形式
[0110]
[0111]
如表1所示,T1_C_T表示TaskT_1能承受的资源Cpu的干扰值,T1_C_C表示TaskT_1对资源Cpu的干扰值,表1中仅列出了部分资源。
[0112]
具体而言,单独运行第一任务T_1获取其某一性能指标,例如单独运行web应用服务器,获取中央处理器的每秒计算率指标;单独运行基础干扰程序SOI中的中央处理器干扰程序,获取中央处理器的每秒计算率指标;同时运行第一任务T_1和基础干扰程序SOI中的中央处理器干扰程序,并调节干扰强度,使得T_1的每秒计算率性能降到原性能指标的95%(95%为设定经验值),此时基础干扰程序SOI的干扰强度为T_1所能承受的中央处理器的干扰,同时检测这个过程中基础干扰程序的SOI的干扰强度的变化,该过程中基础干扰程序的SOI的干扰强度的变化为web应用对中央处理器产生的干扰强度。
[0113]
可选地,该中央控制设备根据该多个运行设备中每个运行设备的资源信息参数值和/或该多个运行设备中每个运行设备的干扰信息与多个分区取值范围的关系将该每个运行设备划分到所对应的分区。
[0114]
例如,可以根据该运行设备的中央处理器的使用率划分分区,当该运行设备的中央处理器使用率小于30%划分分区1;当该运行设备的中央处理器使用率大于或等于30%,小于或等于60%划分分区2;当该运行设备的中央处理器使用率大于60%划分分区3。
[0115]
又例如根据固态硬盘存储率划分分区,当该运行设备的固态硬盘存储率小于30%划分分区1;当该运行设备的固态硬盘存储率大于或等于30%,小于或等于70%划分分区2;当该运行设备的固态硬盘存储率大于70%划分分区3。
[0116]
可选地,在本申请实施例中,还可以利用加权平均法,对中央处理器资源、磁盘阵列资源、固态硬盘存储资源、网络资源、异构加速资源和干扰信息进行加权平均得到加权平均数来划分该运行设备的分区。
[0117]
例如,根据中央处理器的使用率和固态硬盘存储率的参数共同划分分区,具体地,可以利用加权平均法计算该中央处理器的使用率和固态硬盘存储率的多个加权平均数,该多个加权平均数划分分区。
[0118]
应理解,本申请实施例仅以资源信息包括上述五类信息和干扰信息为例进行说明,但本申请实施例并不限于此,资源信息还可以包括其它信息。
[0119]
应理解,该中央控制设备可以根据该多个运行设备中每个运行设备的资源信息参数值与多个分区取值范围的关系或根据该多个运行设备中每个运行设备的干扰信息与多个分区取值范围的关系,将该每个运行设备划分到所对应的分区;该中央控制设备还可以将每个运行设备的资源信息参数或每个运行设备的干扰信息发送给具有划分分区功能的设备,该具有划分分区功能的设备根据该多个运行设备中每个运行设备的资源信息参数值与多个分区取值范围的关系或根据该多个运行设备中每个运行设备的干扰信息与多个分区取值范围的关系,将该每个运行设备划分到所对应的分区,该中央控制设备接收该具有分区功能的设备发送的多个运行设备的分区结果。
[0120]
可选地,中央控制设备可以为集群内的每个分区分配控制设备,该控制设备用于管理该分区,该控制设备可以是该分区内的运行设备,该控制设备也可以不是该分区的运行设备。
[0121]
应理解,该中央控制设备可以属于该集群,也可以不属于该集群。
[0122]
可选地,中央控制设备将该第一任务封装为该测试任务,其中,封装该第一任务是指 将该第一任务压缩打包,用于运行设备测试当该运行设备执行该第一任务时的性能,而不是由该运行设备直接运行该第一任务。
[0123]
在202中,该控制设备接收该中央控制设备发送的该测试任务。
[0124]
例如,如图2所示,控制设备1和控制设备2分别接收该中央控制设备发送的该测试任务。
[0125]
在203中,该控制设备选择该分区中的至少一个运行设备进行该测试任务的测试。
[0126]
可选地,控制设备可以在其管理的分区内选择的多个运行设备进行该封装的任务的性能测试,控制设备也可以控制设备在其管理的分区内选择的任意一个运行设备进行该封装的任务的性能测试。
[0127]
在204中,该控制设备向该控制设备控制的分区中的至少一个运行设备发送该测试任务。
[0128]
在205中,该至少一个运行设备接收该测试任务。
[0129]
在206中,该至少一个运行设备测试该测试任务,用于获取测试的该测试任务的测试结果。
[0130]
例如,如图2所示,控制设备1选择运行设备11测试该测试任务,控制设备2选择运行设备21测试该任务。应理解,控制设备1和控制设备2还可以选择其控制的分区内的多个运行设备测试该测试任务。
[0131]
可选地,针对该第一任务的性能测试结果包括:该第一任务测试时的运行状态参数值、该第一任务能够承受的最大干扰强度和该第一任务对该运行设备产生的干扰强度中的至少一种;则可以根据该第一任务测试时的运行状态参数值、该第一任务能够承受的最大干扰强度或该第一任务对该运行设备产生的干扰强度中的至少一种参数,从该集群内的多个分区中选择用于执行该第一任务的第一分区。
[0132]
可选地,该第一任务测试时的运行状态参数包括以下一个或多个信息,如时延、每秒查询率、响应时间和吞吐率等指标。
[0133]
在207中,该至少一个运行设备向该控制设备发送该测结果,用于该控制设备向该中央控制设备发送该测试结果。
[0134]
在208中,该控制设备接收该至少一个运行设备发送的该测试任务的测试结果。
[0135]
在209中,该控制设备向该中央控制设备发送该测试任务的测试结果。
[0136]
在210中,该中央控制设备获取该多个分区的控制设备发送的该测试任务的测试结果。
[0137]
在211中,该中央控制设备根据该测试结果,从集群内的多个分区中选择用于执行该第一任务的第一分区。
[0138]
例如,如图2所示,该中央控制设备根据控制设备1和控制设备2发送的测试结果,选择控制设备1的分区为第一分区。
[0139]
可选地,该中央控制设备选择对执行该第一任务最重要的一个或多个运行状态参数作为选择执行该第一任务的第一分区的指标。
[0140]
具体地,该中央控制设备比较运行状态参数值,例如,比较时延、每秒查询率、响应时间、吞吐率、任务能够承受的最大干扰强度和该第一任务对该运行设备产生的干扰强度等参数,选择影响该第一任务执行的相关参数作为选择执行该第一任务的第一分区的指 标,例如,当该第一任务要求响应时间最快时,可以选择响应时间最快的分区作为执行该第一任务的第一分区。
[0141]
例如,根据该第一任务测试时的运行状态参数值,从多个分区中选择执行第一任务的分区。在图3中,根据每个分区获得的该第一任务运行所需占用的一个资源使用信息从多个分区中选择执行第一任务的分区。分区1的每秒查询率大于分区2的每秒查询率,还大于分区3的每秒查询率,因此,选择每秒查询率最高的分区2作为该第一任务的第一分区。
[0142]
可选地,该中央控制设备根据该第一任务能够承受的最大干扰强度与每个分区的干扰强度的匹配度,选择执行该第一任务的第一分区。
[0143]
例如,根据任务能够承受的最大干扰强度与每个分区的干扰强度,从多个分区中选择执行第一任务的第一分区。在图3中,分区1的干扰强度为区间1,分区2的干扰强度为区间2,分区3的干扰强度为区间3,区间1大于区间2,区间2大于区间3,当该第一任务能承受的干扰强度在区间2内时,可以选择分区2或分区3作为该第一任务的第一分区,但是分区3对该第一任务的干扰最小,应选择分区3作为该第一任务的第一分区。
[0144]
例如,分区1的干扰强度为区间1,该第一任务在分区1能够承受的干扰强度小于分区1的干扰强度为区间1,所以该第一任务不适合在分区1内执行;分区2的干扰强度为区间2,该第一任务在分区2能够承受的干扰强度小于分区2的干扰强度为区间2,所以该第一任务不适合在分区2内执行;分区3的干扰强度为区间3,该第一任务在分区3能够承受的干扰强度大于分区3的干扰强度为区间3,所以选择分区3作为该第一任务的第一分区。
[0145]
可选地,该中央控制设备根据该第一任务对运行设备产生的干扰强度和每个分区的干扰强度,选择执行该第一任务的第一分区。该第一任务对运行设备产生的干扰强度指该第一任务在该运行设备上执行时对该运行设备的资源产生的干扰。
[0146]
例如,分区1的干扰强度为区间1,该第一任务在分区1产生的干扰强度为11,分区2的干扰强度为区间2,该第一任务在分区2产生的干扰强度为22,分区3的干扰强度为区间3,该第一任务在分区3产生的干扰强度为33,比较该第一任务对3个分区的干扰强度的影响,选择执行该第一任务后分区干扰强度小的分区作为该第一任务的第一分区。
[0147]
可选地,在本申请实施例中,还可以利用加权平均法,对运行状态参数值,如时延、每秒查询率、响应时间、吞吐率、该任务能够承受的最大干扰强度和该任务对运行设备产生的干扰强度进行加权平均得到加权平均数来选择该运行设备的第一分区。
[0148]
可选地,该中央控制设备还可以根据任务类型选择分区。具体地,当该第一任务为长任务时,中央控制设备可以选择中央处理器使用率较高的分区;当该第一任务为批任务时,中央控制设备可以选择中央处理器使用率较低的分区。
[0149]
在212中,该中央控制设备向该第一分区的控制设备发送该第一任务。
[0150]
例如,在图2中,该中央控制设备向控制设备1发送该第一任务。
[0151]
在213中,控制设备接收该中央控制设备发送的第一任务。
[0152]
例如,在图2中,该控制设备1接收中央控制设备发送的该第一任务。
[0153]
在214中,该控制设备选择该第一分区内执行该第一任务的目标运行设备。
[0154]
例如,在图2中,该控制设备选择运行设备11为该第一任务的目标运行设备
[0155]
可选地,该控制设备根据对该第一任务进行性能测试的至少一个运行设备的测试结 果,从对该第一任务进行性能测试的至少一个运行设备中,选择该目标运行设备。
[0156]
可选地,该控制设备根据该第一任务的类型,选择影响该第一任务执行的相关参数作为选择执行该第一任务的运行设备的条件,例如,当该第一任务要求响应时间最快时,可以选择响应时间最快的运行设备作为执行该第一任务的目标运行设备。
[0157]
可选地,在本申请实施例中,还可以利用加权平均法,对测试结果,如时延、每秒查询率、响应时间和吞吐率进行加权平均得到加权平均数来选择该第一任务的目标运行设备。
[0158]
具体地,当该第一任务为批任务时,该控制设备从对该第一任务进行测试的至少一个运行设备中,利用加权平均法,对每秒查询和响应时间进行加权平均得到加权平均数来选择该第一任务的目标运行设备。
[0159]
可选地,该控制设备可以在该分区内选择任意一个目标运行设备执行该第一任务。
[0160]
应理解,该目标运行设备可以是在该分区内对该第一任务封装的测试任务进行测试的运行设备,也可以是在该分区内没有对该第一任务封装的测试任务进行测试的运行设备。
[0161]
在215中,所述控制设备向所述目标运行设备发送该第一任务。
[0162]
例如,如图2所示,该控制设备1向该运行设备11发送该第一任务。
[0163]
在216中,所述目标运行设备接收所述控制设备发送的该第一任务。
[0164]
在217中,所述目标运行设备执行所述第一任务。
[0165]
因此,在本申请实施例中,中央控制设备通过该测试任务的测试结果从集群内的多个分区中选择用于执行该第一任务的分区,向控制该分区的控制设备发送该第一任务,从而,以分区为单位进行作业调度,对运行设备进行合理的调度,合理利用系统资源。
[0166]
在现有的资源管理调度方案中,集中式资源管理调度方案中所有资源的管理和任务调度都在一个控制节点上,当集群规模扩大时,中央控制节点成为整个系统的瓶颈。本申请实施例的方法,通过中央控制设备通过从集群内的多个分区中选择用于执行该第一任务的分区,向控制该分区的控制设备发送该第一任务,从而,以分区为单位进行作业调度,对运行设备进行合理的调度,解决了集中式资源管理调度中当集群规模扩大时,中央控制节点成为整个系统的瓶颈的问题。
[0167]
在现有的资源管理调度方案中,分层式共享调度方案中系统有两个调度器,这两个调度器共享系统的所有资源,两个调度器并发调度,容易产生调度资源冲突,当冲突次数越多,系统性能下降得越快。本申请实施例的方法,由中央控制设备将第一任务发送到分区控制设备,该分区控制设备选择第一任务的运行设备,不存在多个调度器带来的资源冲突问题,提高了系统性能。
[0168]
应理解,当该运行设备执行该第一任务时,由于执行的任务可能占用了该运行设备的中央处理器或内存等资源,该任务可能对该运行设备的中央处理器、内存、网络等产生干扰,导致该运行设备的资源信息的参数值和干扰信息的强度不在第一分区的取值范围以内,所以中央控制设备可以根据该运行设备执行任务后的资源信息和/或干扰信息,重新确定该运行设备的第二分区。
[0169]
该中央控制设备重新划分该运行设备的第二分区,如果该运行设备的第二分区与该运行设备的第一分区不同,应该将该运行设备的重新分配到第二分区下。
[0170]
图4是根据本申请实施例的一种运行设备调度的方法300的示意性流程图。如图4所 示,该方法300包括以下内容。
[0171]
在310中,当运行设备执行第一任务后,向中央控制设备发送该运行设备更新后的资源信息。
[0172]
可选地,运行设备执行完成任务后,向该运行设备的第一分区的控制设备发送更新后的资源,该控制设备向该中央控制设备发送该更新后的资源。
[0173]
可选地,该运行设备可以直接向中央控制设备发送该运行设备更新后的资源信息,该资源信息包括该运行设备执行该任务后的中央处理器资源、磁盘阵列资源、固态硬盘(Solid State Drives,SSD)存储资源、网络资源、异构加速资源和干扰信息等。该干扰信息主要包括运行设备中运行的任务所产生的干扰强度。
[0174]
在320中,该中央控制设备接收该运行设备更新后的资源信息和干扰信息。
[0175]
在330中,该中央控制设备根据该更新后的资源信息和多个分区取值范围的关系,确定该目标运行设备的第二分区。
[0176]
可选地,当中央控制设备在该目标运行设备执行第一任务后确定的该目标运行设备的第二分区与第一分区为同一个分区时,保持该运行设备的分区。
[0177]
可选地,当中央控制设备在该目标运行设备执行第一任务后确定的该目标运行设备的第二分区与第一分区为不同的分区时,中央控制设备将该目标运行设备所属的分区从第一分区更新为第二分区。
[0178]
具体地,如图5所示,图5是本申请实施例的一种调度运行设备的方法的运行设备的动态分区示意框图。第一分区的运行设备3完成执行第一任务,中央控制设备根据运行设备3更新的资源信息或干扰信息对运行设备3重新划分分区。当中央设备确定运行设备3的分区为第二分区时,将运行设备3划分到第二分区,第一分区的控制设备1不再管理运行设备3,第二分区的控制设备2对运行设备3进行管理。
[0179]
在340中,该中央控制设备向该第一分区的控制设备发送第一指示信息,该第一指示信息用于指示该第一分区的控制设备删除该运行设备的信息。
[0180]
在350中,该第一分区的控制设备接收该第一指示信息。
[0181]
在360中,该中央控制设备向该运行设备发送第二指示信息,该第二指示信息用于指示该目标运行设备将该运行设备将所属分区从该第一分区更改为该第二分区。
[0182]
可选的,该控制设备删除该运行设备的信息后,向该中央控制设备发送第三指示信息,该第三指示信息用于指示控制设备已将该运行设备的资源信息删除;该中央控制设备收到第三指示信息后,向该运行设备发送第二指示信息,该第二指示信息用于指示该目标运行设备将该运行设备将所属分区从该第一分区更改为该第二分区。
[0183]
在370中,该运行设备接收该第二指示信息。
[0184]
在380中,该运行设备向该第二分区的控制设备发送该运行设备更新的资源信息。
[0185]
在390中,该第二分区的控制设备接收该运行设备更新的资源信息。
[0186]
在重新划分该运行设备的分区后,本发明实施例还包括上述图2和图3的方法的相应流程,为了简洁,在此不再赘述。
[0187]
因此,在本申请的实施例中,该运行设备在执行该第一任务后,该运行设备向中央控制设备发送该运行设备更新后的资源信息或干扰信息,该中央控制设备根据更新后的资源信息和/或干扰信息重新划分该运行设备所在的分区。从而,该中央控制设备可以实时探 知整个集群的资源使用情况,合理利用系统资源。
[0188]
在现有的资源管理调度方案中,分层式调度方案中央控制器仅负责管理集群资源,将集群资源分配给计算框架,各个计算框架根据分配好的资源进行任务调度,各个计算框架无法探知整个集群的实时资源使用情况。本申请实施例的方法,在该目标运行设备执行该任务完成后,向中央控制设备发送该运行设备更新后的资源信息,从而,该中央设备可以实时探知整个集群的资源使用情况。该中央控制设备根据更新后的资源信息或干扰信息重新划分该运行设备所在的分区,对运行设备进行合理的调度,合理利用系统资源实现了分区管理系统资源。
[0189]
图6是根据本申请实施例的中央控制设备400的示意框图。如图6所示,该中央控制设备400包括:
[0190]
发送模块410,用于向集群内的多个分区的控制设备发送测试任务,该测试任务为第一任务的测试任务,该多个分区中每个分区包括至少一个运行设备;
[0191]
获取模块420,用于接收该多个分区的控制设备发送的该测试任务的测试结果;
[0192]
选择模块430,用于根据该测试结果,从集群内的多个分区中选择用于执行第一任务的第一分区,该第一任务为执行的任务;
[0193]
该发送模块410还用于向该第一分区的控制设备发送该第一任务,以便于该控制设备从该第一分区中选择执行该第一任务的目标运行设备。
[0194]
可选地,该选择模块430具体用于:将该第一任务封装为该测试任务;向该每个分区的控制设备发送该测试任务;该测试结果具体包括针对该封装的该待执行任务的测试结果。
[0195]
可选地,该测试结果包括:该第一任务测试时的运行状态参数值、该第一任务能够承受的最大干扰强度和该第一任务对该运行设备产生的干扰强度中的至少一种;
[0196]
该选择模块430具体用于:
[0197]
根据第一任务测试时的运行状态参数值、该第一任务能够承受的最大干扰强度和该第一任务对该运行设备产生的干扰强度中的至少一种,从该集群内的多个分区中选择用于执行该第一任务的第一分区。
[0198]
可选地,如图7所示,该中央控制设备还包括划分模块440,该划分模块用于根据该获取模块410获取的该多个运行设备的资源信息和/或干扰信息,将该多个运行设备划分为该多个分区;
[0199]
该划分模块440还用于为该每个分区分配控制设备。
[0200]
可选地,该获取模块420还用于:
[0201]
获取该集群内的多个运行设备的资源信息和/或干扰信息,其中,该资源信息用于指示该运行设备中能够使用的资源的情况,该干扰信息包括该运行设备上的任务对该运行设备产生的干扰强度。
[0202]
可选地,该获取模块420还用于:当该目标运行设备完成该第一任务时,获取该目标运行设备的更新后的资源信息;
[0203]
该划分模块440还用于根据该目标运行设备发送的更新后的资源信息和该集群内的多个运行设备的资源信息,将该目标运行设备所属分区从该第一分区更新为第二分区。
[0204]
可选地,该划分模块440具体用于:根据该多个运行设备中每个运行设备的资源信息 参数值和/或干扰信息与多个取值范围的关系,将该每个运行设备划分到所对应的分区。
[0205]
可选地,该获取模块420具体用于:获取用户通过多个计算框架中的第一计算框架的接口输入的该第一任务;该发送模块430具体用于:通过调用该第一计算框架向控制该第一分区的控制设备发送该第一任务。
[0206]
图8是根据本申请实施例的控制设备500的示意框图。如图8所示,该控制设备500包括:
[0207]
接收模块510,用于接收中央控制设备发送的测试任务,该控制设备用于管理集群中的多个分区中的第一分区内的至少一个运行设备,该测试任务为测试任务;
[0208]
选择模块520,用于选择该分区中的至少一个运行设备进行该测试任务的性能测试;
[0209]
该接收模块510还用于:接收该进行该测试任务的性能测试的运行设备发送的该测试任务的性能测试参数值;
[0210]
该发送模块530,用于向该中央控制设备发送该测试任务的性能测试参数值,用于该中央控制设备确定该第一任务的第一分区;
[0211]
该接收模块510还用于:接收中央控制设备发送的第一任务,该第一任务为执行的任务;
[0212]
该选择模块520还用于:选择该第一分区内执行该第一任务的目标运行设备。
[0213]
可选地,该控制设备还包括调度模块,其中,该接收模块510具体用于:接收中央控制设备发送的第一任务;该选择模块520具体用于:选择该第一分区内执行该第一任务的目标运行设备;该调度模块具体用于:调度该目标运行设备执行该第一任务。
[0214]
可选地,该选择模块520具体用于:根据对该第一任务进行性能测试的至少一个运行设备的性能测试参数值,从对该第一任务进行性能测试的至少一个运行设备中,选择该目标运行设备。
[0215]
可选地,该接收模块510具体用于:接收该中央控制设备发送的第一指示信息,该第一指示信息用于指示该控制设备删除该目标运行设备的信息;该发送模块还用于向该中央控制设备发送第二指示信息,该第二指示信息用于指示该控制设备已删除该目标运行设备的消息
[0216]
图9是根据本申请实施例的运行设备600的示意框图。如图9所示,该运行设备600包括:
[0217]
该接收模块610,用于接收该控制设备发送的测试任务;
[0218]
该测试模块620,用于测试该测试任务,以便于获取测试的该测试任务的测试结果,该控制设备用于管理该运行设备所在的第一分区,该第一分区包括至少一个运行设备;
[0219]
该发送模块630,用于向该控制设备发送该测试结果,用于该控制设备向该中央控制设备发送该测试结果,以便于该中央控制设备从多个分区选择执行第一任务的分区。
[0220]
可选地,该运行设备还包括执行模块,其中,该接收模块还用于接收该控制设备发送的该第一任务;该执行模块,用于执行该第一任务。
[0221]
可选地,该发送模块630还用于:在该运行设备执行控制设备发送的第一任务之前,向该中央控制设备或该运行设备所属的控制设备发送该运行设备的资源信息和/或干扰信息,用于中央控制设备对该运行设备进行分区的分配。
[0222]
可选地,该接收模块610还用于接收该中央控制设备或该运行设备所属的控制设备发 送的第一指示信息,该第一指示信息用于指示该运行设备将该运行设备所属的分区从第一分区更新为第二分区;该发送模块还用于向该第二分区的控制设备发送该运行设备的资源信息。
[0223]
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
[0224]
图10是根据本申请实施例的通信设备700的结构示意图。如图10所示,该通信设备700包括处理器710、存储器720和收发器730。该存储器720用于存储指令,该处理器710用于执行该存储器720存储的指令。处理器710可以控制该收发器730对外通信。处理器710、存储器720和收发器730之间通过内部连接通路互相通信,传递控制和/或数据信号。
[0225]
可选地,该通信设备可以是中央控制设备。当该通信设备700是中央控制设备时,该通信设备700中的处理器710可以调用存储器720中的指令实现图2至图5中的各个方法的中央控制设备所执行的相应流程,为了简洁,在此不再赘述。
[0226]
可选地,该通信设备也可以是控制设备。当该通信设备700是控制设备时,该通信设备700中的处理器710可以调用存储器720中的指令实现图2至图5中的各个方法的控制设备所执行的相应流程,为了简洁,在此不再赘述。
[0227]
可选地,该通信设备还可以是运行设备。当该通信设备700是控制设备时,该通信设备700中的处理器710可以调用存储器720中的指令实现图2至图5中的各个方法的运行设备所执行的相应流程,为了简洁,在此不再赘述。
[0228]
在本申请实施例中,处理器可以是中央处理器(Central Processing Unit,CPU),网络处理器(Network Processor,NP)或者CPU和NP的组合。处理器还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(Application-Specific Integrated Circuit,ASIC),可编程逻辑器件(Programmable Logic Device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD),现场可编程逻辑门阵列(Field-Programmable Gate Array,FPGA),通用阵列逻辑(Generic Array Logic,GAL)或其任意组合。
[0229]
该存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。
[0230]
本申请实施例提供了一种计算机可读介质,用于存储计算机程序,该计算机程序包括用于执行上述图2至图10中本申请实施例的通信方法。该可读介质可以是ROM或RAM,本申请实施例对此不做限制。
[0231]
应理解,本文中术语“和/或”以及“A或B中的至少一种”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或” 的关系。
[0232]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
[0233]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0234]
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0235]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0236]
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0237]
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
[0238]
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

权利要求书

[权利要求 1]
一种调度运行设备的方法,其特征在于,包括: 向集群内的多个分区的控制设备发送测试任务,所述多个分区中每个分区包括至少一个运行设备; 获取所述多个分区的控制设备发送的所述测试任务的测试结果; 根据所述测试结果,从所述集群内的多个分区中选择用于执行所述第一任务的第一分区; 向所述第一分区的控制设备发送所述第一任务,以便于所述控制设备从所述第一分区中选择执行所述第一任务的目标运行设备。
[权利要求 2]
根据权利要求1所述的方法,其特征在于,所述向集群内的多个分区的控制设备发送测试任务之前,所述方法还包括: 将所述第一任务封装为所述测试任务; 向所述多个分区的控制设备发送所述测试任务。
[权利要求 3]
根据权利要求2所述的方法,其特征在于,所述测试结果包括:所述第一任务测试时的运行状态参数值、所述第一任务能够承受的最大干扰强度和所述第一任务对所述运行设备产生的干扰强度中的至少一种。
[权利要求 4]
根据权利要求1至3中任一项所述的方法,其特征在于,在所述向集群内的多个分区的控制设备发送测试任务之前,所述方法还包括: 获取所述集群内的多个运行设备的资源信息和/或干扰信息,其中,所述资源信息用于指示所述运行设备中能够使用的资源的情况,所述干扰信息包括所述运行设备上的任务对所述运行设备产生的干扰强度; 根据所述多个运行设备的资源信息和/或干扰信息,将所述多个运行设备划分为所述多个分区; 为所述每个分区分配控制设备。
[权利要求 5]
根据权利要求4所述的方法,其特征在于,所述根据所述多个运行设备的资源信息和/或干扰信息,将所述多个运行设备划分为所述多个分区划分,包括: 根据所述多个运行设备中每个运行设备的资源信息所包括的参数值和/或干扰信息所包括的强度参数值与所述多个分区取值范围的对应关系,将所述每个运行设备划分到所对应的分区。
[权利要求 6]
根据权利要求5所述的方法,其特征在于,当所述目标运行设备完成任务时,所述方法还包括: 获取所述目标运行设备的更新后的资源信息和/或干扰信息; 根据所述目标运行设备发送的更新后的资源信息和/或干扰信息与多个分区取值范围的关系,将所述目标运行设备所属分区从所述第一分区更新为第二分区。
[权利要求 7]
根据权利要求1至6中任一项所述的方法,其特征在于,所述向集群内的多个分区的控制设备发送测试任务之前,所述方法还包括: 获取用户通过多个计算框架中的第一计算框架的接口输入的所述第一任务。
[权利要求 8]
一种调度运行设备的方法,其特征在于,包括: 控制设备接收中央控制设备发送的测试任务,所述控制设备用于管理集群中的多个分区中的第一分区内的至少一个运行设备; 选择所述第一分区中的至少一个运行设备进行所述测试任务的测试; 向所述第一分区中的至少一个运行设备发送所述测试任务; 接收所述进行所述测试任务的性能测试的运行设备发送的所述测试任务的测试结果; 向所述中央控制设备发送所述测试任务的测试结果,用于所述中央控制设备确定所述第一任务的第一分区。
[权利要求 9]
根据权利要求8所述的方法,其特征在于,所述方法还包括: 接收中央控制设备发送的第一任务; 选择所述第一分区内执行所述第一任务的目标运行设备; 调度所述目标运行设备执行所述第一任务。
[权利要求 10]
根据权利要求9所述的方法,其特征在于,所述选择所述第一分区内执行所述第一任务的目标运行设备,包括: 根据对所述测试任务进行测试的至少一个运行设备的测试结果,从对所述测试任务进行测试的至少一个运行设备中,选择所述目标运行设备。
[权利要求 11]
一种调度运行设备的方法,其特征在于,包括: 运行设备接收控制设备发送的测试任务,所述控制设备用于管理所述运行设备所在的第一分区,所述第一分区包括至少一个运行设备; 测试所述测试任务,用于获取测试的所述测试任务的测试结果; 向所述控制设备发送所述测试结果,用于所述控制设备向所述中央控制设备发送所述测试结果,以便于所述中央控制设备从多个分区选择执行第一任务的分区。
[权利要求 12]
根据权利要求11所述的方法,其特征在于,所述方法还包括: 接收所述控制设备发送的所述第一任务; 执行所述第一任务。
[权利要求 13]
根据权利要求12所述的方法,其特征在于,在所述执行所述第一任务之后,所述方法还包括: 向中央控制设备或所述运行设备所属的控制设备发送所述运行设备更新后的资源信息和/或干扰信息。
[权利要求 14]
根据权利要求11至13中任一项所述的方法,其特征在于,在所述测试所述控制设备发送的测试任务之前,所述方法还包括: 向所述中央控制设备或所述运行设备所属的控制设备发送所述运行设备的资源信息和/或干扰信息。
[权利要求 15]
一种中央控制设备,其特征在于,包括发送模块、获取模块和选择模块: 所述发送模块,用于向集群内的多个分区的控制设备发送测试任务,所述多个分区中每个分区包括至少一个运行设备; 所述获取模块,用于获取所述多个分区的控制设备发送的所述测试任务的测试结果; 所述选择模块,用于根据所述测试结果,从集群内的多个分区中选择用于执行所述第一任务的第一分区; 所述发送模块还用于: 向所述第一分区的控制设备发送所述第一任务,用于所述控制设备从所述第一分区中选择执行所述第一任务的目标运行设备。
[权利要求 16]
根据权利要求15所述的中央控制设备,其特征在于,所述选择模块具体用于: 将所述第一任务封装为所述测试任务,; 向所述每个分区的控制设备发送所述测试任务。
[权利要求 17]
根据权利要求15或16所述的中央控制设备,其特征在于,所述测试结果包括:所述第一任务测试时的运行状态参数值、所述第一任务能够承受的最大干扰强度和所述第一任务对所述运行设备产生的干扰强度中的至少一种。
[权利要求 18]
根据权利要求15至17中任一项所述的中央控制设备,其特征在于,所述获取模块还用于: 获取所述集群内的多个运行设备的资源信息和/或干扰信息,其中,所述资源信息用于指示所述运行设备中能够使用的资源的情况,所述干扰信息包括所述运行设备上的任务对所述运行设备产生的干扰强度; 根据所述多个运行设备的资源信息和/或干扰信息,将所述多个运行设备划分为所述多个分区; 所述中央控制设备还包括划分模块,所述划分模块用于根据所述多个运行设备的资源信息和/或干扰信息,将所述多个运行设备划分为所述多个分区; 所述划分模块还用于为所述每个分区分配控制设备。
[权利要求 19]
根据权利要求18所述的中央控制设备,其特征在于,所述获取模块还用于:当所述目标运行设备完成所述第一任务时,获取所述目标运行设备的更新后的资源信息; 所述划分模块还用于根据所述目标运行设备发送的更新后的资源信息和所述集群内的多个运行设备的资源信息,将所述目标运行设备所属分区从所述第一分区更新为第二分区。
[权利要求 20]
根据权利要求18或19所述的中央控制设备,其特征在于,所述划分模块具体用于: 根据所述多个运行设备中每个运行设备的资源信息参数值和/或干扰信息与多个取值范围的关系,将所述每个运行设备划分到所对应的分区。
[权利要求 21]
根据权利要求15至20中任一项所述的中央控制设备,其特征在于,所述获取模块具体用于: 获取用户通过多个计算框架中的第一计算框架的接口输入的所述第一任务。
[权利要求 22]
一种控制设备,其特征在于,包括接收模块、选择模块、发送模块和调度模块: 所述接收模块,用于接收中央控制设备发送的测试任务,所述控制设备用于管理集群中的多个分区中的第一分区内的至少一个运行设备; 所述选择模块,用于选择所述第一分区中的至少一个运行设备进行所述测试任务的测试; 所述发送模块,用于向所述第一分区中的至少一个运行设备发送所述测试任务; 所述接收模块还用于:接收所述进行所述测试任务的性能测试的运行设备发送的所述测试任务的测试结果; 所述发送模块还用于:向所述中央控制设备发送所述测试任务的测试结果,用于所述中央控制设备确定所述第一任务的第一分区。
[权利要求 23]
根据权利要求22所述的控制设备,其特征在于, 所述接收模块具体用于:接收中央控制设备发送的第一任务; 所述选择模块具体用于:选择所述第一分区内执行所述第一任务的目标运行设备; 所述调度模块具体用于:调度所述目标运行设备执行所述第一任务。
[权利要求 24]
根据权利要求22或23所述的控制设备,其特征在于,所述选择模块具体用于: 根据对所述测试任务进行性能测试的至少一个运行设备的测试结果,从对所述测试任务进行性能测试的至少一个运行设备中,选择所述目标运行设备。
[权利要求 25]
一种运行设备,其特征在于,包括接收模块、测试模块和发送模块: 所述接收模块,用于接收控制设备发送的测试任务,所述控制设备用于管理所述运行设备所在的第一分区,所述第一分区包括至少一个运行设备; 所述测试模块,用于测试所述测试任务,以便于获取测试的所述测试任务的测试结果; 所述发送模块,用于向所述控制设备发送所述测试结果,用于所述控制设备向所述中央控制设备发送所述测试结果,以便于所述中央控制设备从多个分区选择执行第一任务的分区。
[权利要求 26]
根据权利要求25所述的运行设备,其特征在于,所述运行设备还包括执行模块: 所述接收模块还用于接收所述控制设备发送的所述第一任务; 所述执行模块,用于执行所述第一任务。
[权利要求 27]
根据权利要求26所述的运行设备,其特征在于,所述发送模块具体用于: 在所述执行所述第一任务之后,向中央控制设备或所述运行设备所属的控制设备发送所述运行设备更新后的资源信息和/或干扰信息。
[权利要求 28]
根据权利要求25至27中任一项所述的运行设备,其特征在于,所述发送模块具体用于: 在所述测试所述控制设备发送的测试任务之前,向所述中央控制设备或所述运行设备所属的控制设备发送所述运行设备的资源信息和/或干扰信息。
[权利要求 29]
一种集群通信的系统,其特征在于,所述系统包括中央控制设备、多个控制设备和多个运行设备,其中,所述多个运行设备被划分为多个分区,所述多个分区中的每个分区包括至少一个运行设备,所述多个控制设备中的每个控制设备分别控制所述多个分区中的一个分区; 所述中央控制设备用于:向所述多个控制设备发送测试任务;以及,接收所述多个控制设备发送的测试结果,根据所述测试结果,从所述多个分区中选择用于执行所述第一任务的第一分区,并向所述第一分区的控制设备发送所述第一任务; 所述控制设备用于:接收所述中央控制设备发送的所述测试任务,并向所控制的分区中的至少部分运行设备发送所述测试任务;接收所控制的所述至少部分运行设备发送的所述测试结果,向所述中央控制设备发送所述测试结果;以及,接收所述中央控制设备发送的所述第一任务,选择所控制的分区内执行所述第一任务的运行设备,以及调度所控制的分区内的所述运行设备执行所述第一任务; 所述运行设备用于:接收控制设备发送的所述测试任务,测试所述测试任务,用于 获取所述测试任务的测试结果,并向各自的控制设备发送所述测结果;以及,根据控制设备的调度,执行所述第一任务。
[权利要求 30]
根据权利要求29所述的系统,其特征在于,所述中央控制设备还用于:将所述第一任务封装为所述测试任务。
[权利要求 31]
根据权利要求29或30所述的系统,其特征在于,所述测试结果包括:所述第一任务测试时的运行状态参数值、所述第一任务能够承受的最大干扰强度和所述第一任务对所述运行设备产生的干扰强度中的至少一种。
[权利要求 32]
根据权利要求29至31中任一项所述的系统,其特征在于,所述中央控制设备还用:获取所述多个运行设备的资源信息和/或干扰信息,其中,所述资源信息用于指示所述运行设备中能够使用的资源的情况,所述干扰信息包括所述运行设备上的任务对所述运行设备产生的干扰强度; 根据所述多个运行设备的资源信息和/或干扰信息,将所述多个运行设备划分为所述多个分区; 从所述多个控制设备中,为所述每个分区分配控制设备。
[权利要求 33]
根据权利要求32所述的系统,其特征在于, 所述运行设备还用于:向中央控制设备或所述运行设备所属的控制设备发送所述运行设备更新后的资源信息和/或干扰信息; 所述控制设备还用于:接收所述运行设备发送的所述运行设备更新后的资源信息和/或干扰信息,以及向所述中央控制设备发送所述运行设备更新后的资源信息和/或干扰信息; 所述中央控制设备还用于:接收所述运行设备或所述运行设备所属的控制设备发送的所述运行设备更新后的资源信息和/或干扰信息;根据所述更新后的资源信息和/或干扰信息与多个分区取值范围的关系,更新所述运行设备的所属分区。

附图

[ 图 1]  
[ 图 2]  
[ 图 3]  
[ 图 4]  
[ 图 5]  
[ 图 6]  
[ 图 7]  
[ 图 8]  
[ 图 9]  
[ 图 10]