自动分配计算任务的方法和设备与流程

文档序号:15366117发布日期:2018-09-07 22:00阅读:366来源:国知局

本发明总体上涉及信息技术领域,更具体地涉及一种用于自动分配计算任务的方法的设备。



背景技术:

随着互联网的发展,出现了许多为网络用户提供各项服务的网络运营商。所述网络运营商能够为用户提供诸如导航、交友和定位等的服务。这就要求网络运营商必须利用其服务器为用户要求的任务提供各种计算。但是,由于用户所需的服务的数量并不是固定的,因此对于网络运营商来说如何安排用于提供服务的服务器的数量是一个不小的挑战。

在现有的服务器配置中,往往是网络运营商对于特定的任务指定一个或多个专用的服务器。例如,网络运营商可以指定若干服务器用于导航服务。但是,在实践操作中,这并不是高效和成本有效的。这是因为客户对导航的服务的要求一般都会比较集中在每天的早晚时段或者节假日时段,在要求导航服务多的时间段,网络运营商的用于为导航服务提供计算的服务器往往是满负载甚至是超负载的,这导致了相对慢地为要求导航服务的用户提供导航结果,这往往导致不能及时和令人满意地提供服务。相反,在导航服务不多的时间段,所述用于导航服务的服务器可能是被闲置的,从而造成了设备的极大浪费。



技术实现要素:

根据本发明的一方面,提供一种自动分配计算任务的方法,包括:接收用户的计算任务请求;以及

响应于所接收的计算任务请求,基于计算系统中的各计算单元的硬件和性能信息以及工作负载情况为用户的计算任务选择相应的计算资源。

根据本发明的方法,进一步包括收集所述计算系统中的各计算单元的硬件配置信息,并且根据所收集到的硬件配置信息自动获取所述各计算单元的硬件和性能信息。

根据本发明的方法,进一步包括收集所述计算系统中的各计算单元的运行状态信息。

根据本发明的方法,进一步包括根据所述收集到的运行状态信息预先判断所述计算系统的工作负载情况。

根据本发明的方法,进一步包括:

响应于所接收的计算任务请求,选择用于所述计算任务的算法规则,并将所述算法规则和计算任务一起派发到所选择的计算资源。

根据本发明的一方面,提供一种自动分配计算任务的设备,包括:

用于接收用户的计算任务请求的装置;以及

用于响应于所接收的计算任务请求,基于计算系统中的各计算单元的硬件和性能信息以及工作负载情况为用户的计算任务选择相应的计算资源的装置。

根据本发明的设备,进一步包括用于收集所述计算系统中的各计算单元的硬件配置信息,并且根据所收集到的硬件配置信息自动获取所述各计算单元的硬件和性能信息的装置。

根据本发明的设备,进一步包括用于收集所述计算系统中的各计算单元的运行状态信息的装置。

根据本发明述的方法,进一步包括用于根据所述收集到的运行状态信息预先判断所述计算系统的工作负载情况的装置。

根据本发明的方法,进一步包括:

用于响应于所接收的计算任务请求,选择用于所述计算任务的算法规则,并将所述算法规则和计算任务一起派发到所选择的计算资源的装置。

附图说明

通过参考附图阅读下文的详细描述,本发明实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:

图1是示出根据本发明的用于自动分配计算任务的系统的框图;

图2示出了根据本发明的任务请求队列;

图3是示出了根据本发明的用于自动分配计算任务的方法的流程图;并且

图4示出了适于用来实践本发明实施方式的计算机系统的示意性框图。

在附图中,相同或对应的标号表示相同或对应的部分。并且,附图中示出的组件、部件、元件的数量仅用于举例说明,而非限制。

具体实施方式

图1是根据本发明的用于自动分配计算任务的系统的框图。图1的系统主要包括两个部分:控制中心1和计算中心2。所述控制中心1和计算中心2之间通过通信网络进行通信,其中这些网络包括但不限于移动电话网络、无线局域网(LAN)、蓝牙个人局域网、以太网LAN、令牌LAN、广域网、互联网、通信设备之间的一个或多个ad hoc网络等。

计算中心2包括多个计算单元21,在图1中为了示意性的目的示出了三个计算单元21。本领域的技术人员可以知道能够根据需要使用任意数量的计算单元21。所述计算单元21用于执行各种计算任务,诸如用户要求的导航、定位任务等。所述计算单元21中的每个可以具有不同的硬件配置,并且相互之间是物理上独立的。但是,所述计算单元21还可以在控制中心1的控制下分别执行用户请求的计算任务的一个部分,由此共同配合执行用户所需的计算任务。计算中心2还包括任务路由器22,其将(由图中的客户端3发出的)用户请求的任务路由至控制中心1。处于示例性的目的示出了两个客户端3,但是本领域的技术人员知道此类客户端的数量可以是任意的。

控制中心1主要包括控制单元12,其用于接收来自客户端3的由任务路由器22路由来任务请求并且为客户端3的任务请求选择合适的计算单元21。控制中心1还包括收集和监控单元13,其用于收集各计算单元21的硬件配置信息,并且将收集的各硬件的配置信息发送到控制单元12以便所述控制单元12能够从诸如互联网17的资源搜索与所述硬件配置信息相对应的所述计算单元21的硬件和性能信息,进而为每个硬件单元21进行打分,并将其存储在知识库14中。此外,收集和监控单元13还收集各计算单元21运行时的状态信息并且将其传送给控制单元12,以便将收集到的运行时的状态信息存储到计算单元运行状态数据库15中。控制单元12能够基于计算单元运行状态数据库15中的当前每个计算单元的运行状态信息确定每个计算单元的当前运行状态。此外,控制单元还能够通过对运行状态数据库15中存储的计算单元的运行状态信息的历史数据进行分析,从而实现对计算中心2的计算任务的高峰低谷的预判。在一个实施例中,这可以通过在各个时段收集计算单元21的诸如负载数据,内存空闲程度和CPU占用程度的运行状态信息来实现。收集和监控单元13可以基于时间机制(例如每10分钟或每小时)对计算单元21的诸如负载数据,内存空闲程度和CPU占用程度的运行状态信息进行采集,比较不同时间采集的数据,从而实现对计算中心的计算任务的高峰低谷的预判。例如,如果在某一时段各计算单元21的CPU占用程度都很高,就可以表明此时段为计算中心2的计算任务的高峰时段。

所述控制中心1还包括计算任务部署库16,控制中心1在接收到由任务路由器22路由来的用户请求的计算任务后,将所接收到的计算任务放置在计算任务部署库16中。计算任务部署库16在接收到所述计算任务后,会为所述计算任务选择相应的算法规则,然后将所述算法规则和所述计算任务相关联,随后将关联的技术任务和运算法则发送给控制单元12,以便由控制单元12通过路由器22将计算任务分配给相应的计算单元21。

下面具体参照图1来相信描述本发明的工作原理。

首先,客户端3发起计算任务请求,所述计算任务请求通过任务路由器22被路由至控制中心1(在一个实施例中,路由到控制中心1中的控制单元12)。所述任务请求可以诸如是导航或定位计算服务请求。控制中心1在接收到所述计算任务请求后,将所述计算任务请求传输至计算任务部署库16。计算任务部署库16中可以事先存在用于各种计算任务的算法规则或者还可以基于计算任务从诸如互联网的资源搜索合适的算法规则,以便根据接收的计算任务请求,为所请求的计算任务选择相对应的算法规则,并将所述算法规则与所述任务请求相关联。此后,计算任务部署库16将计算任务连同与之相关联的算法规则发送给控制单元12。

控制单元12通过收集和监控单元13知晓计算中心2中的各计算单元21的硬件和性能信息,这具体地是如下所述来实现的。收集和监控单元13收集计算中心中的各计算单元的硬件配置信息,所述硬件配置信息例如包括诸如各计算单元的CPU的信息和存储器的信息等等。随后,收集和监控单元13将所述各计算单元的硬件配置信息发送给控制单元12,控制单元12根据收集和监控单元13提供的各计算单元的硬件配置信息在互联网中搜集与所述硬件配置相对应的硬件和性能信息,并且根据搜索到的硬件和性能信息为各计算单元21进行评分(例如,可以为具有高的硬件和性能信息的计算单元21给出较高的分数,而为具有较低的硬件和性能信息的计算单元21给出较低的分数),然后将其存储在知识库14中。

此外,收集和监控单元13还实时地收集各计算单元21的运行状态信息,并将其发送给控制单元12以便被存储在运行状态数据库15中。

进一步参照图1,当控制单元12接收到来自任务部署库16的计算任务连同与之相关联的算法规则时,其通过任务路由器22将计算任务和与之相关联的算法规则路由至合适的计算单元21以为客户执行其所要求的计算任务。这具体地是通过以下操作来实现的。首先,控制单元12判断此计算任务的复杂程度,并根据判定结果从知识库14中选择合适评分的计算单元21。例如,如果计算任务是诸如导航的比较复杂的计算任务,控制单元12就会将该计算任务路由至其评分为比较高的计算单元21进行计算,这是因为涉及导航的计算必须要对图形具有很高的处理能力,进而需要较高的硬件配置。相反,如果所要求的计算任务仅仅是查询地址之类的任务,控制单元12可以将其分配给评分较低的计算单元21,因为此时不必使用具有高的硬件性能信息的计算单元21就能完成以上计算任务。

此外,控制单元12在选择合适评分的计算单元21来执行所述计算任务时,还会参照运行状态数据库15确定其所选评分的计算单元21的当前状态。如果其选评分的计算单元21当前的运行状态繁忙,其可以选择其他具有接近评分的计算单元21并将所述计算任务路由至新选择的计算单元。或者,控制单元12可以决定在所选评分的计算单元21执行其当前任务后将所述计算任务路由至该计算单元21。在实际应用中,可以根据不同的情况选择不同的操作。例如,如果所述计算任务十分紧急,可以选择除所选评分的计算单元之外的其它计算单元来执行所述计算任务,反之,可以选择稍后由所选评分的计算单元执行所述计算任务。

根据本发明,控制单元12可以通过任务队列缓冲器的形式将各个任务和与之相关联的算法规则路由至各计算单元。所述任务队列缓冲器可以在任务路由器22中实现或者在任务路由器外实现,图3示出了根据本发明的队列缓冲器,其可以采用本领域的技术人员所熟知的各种机制,例如FIFO机制。

根据本发明,控制中心1还具有预判机制,用于对计算中心2的任务计算的高峰低谷进行预判。这具体是通过以下操作来实现的。控制中心1中的收集和监控单元13可以基于时间机制(例如,每10分钟或每小时)收集计算中心2中的各计算单元21运行时的状态信息,所述信息包括但不限于各计算单元的负载数据、内存空闲程度和CPU占用程度等等。随后,收集和监控单元13将所收集的数据发送给控制单元12。所述控制单元基于时间维度对所述信息进行分析,例如通过比较每小时收到的各计算单元21运行时的详细信息可以得到计算中心2在一天的哪些时间段的计算任务处于高峰时段,哪些时间段的计算任务处于低谷时段。通过在一段时间内执行所述分析,可以得到计算中心2的计算任务的分布规律,从而可以在未来预判计算中心2的任务计算的高峰和低谷。例如,控制中心1在一段时间后可以得知,在每天的上下班期间和中午期间,计算中心2的任务计算处于高峰时段,这或许是因为在上下班期间用户的导航任务请求比较对,而在中午时段,用户会有更多的搜索请求(比如搜索餐馆、酒吧等等)。而在剩下的时段,计算中心2的计算任务可能出于波谷时段。

通过本发明的这个有利特征,控制中心1可以预判计算中心2的任务计算的高峰低谷时段,在低谷时段控制中心1可以仅使用计算中心2的一部分计算单元21,而其他计算单元可以被其它的控制中心所使用。相反,控制中心1可以在预判的控制中心2的计算任务的高峰到来之前,保留足够的计算单元21可用以便应对即将到来的大的计算任务。通过本发明的预判机制,可以更有效地利用计算中心2中的各个计算单元21,而不会造成计算单元21的不必要的浪费。

此外,根据本发明的另一有利方面,控制中心1将计算任务和算法规则一起路由至相关的计算单元21。这带来的好处是各计算单元21不必预先装载各种算法规则。各计算单元21只需告知控制中心“我可以计算”(这例如可以通过向控制中心发送特定的消息来实现),控制中心1在得知所述计算单元21现在可用时,会根据其评分为其分配合适的计算任务。这可以大大减小计算单元21处的软件投入和配置,从而简化了计算单元21的成本。

图3示出了根据本发明的方法的流程图。在步骤301,接收用户的计算任务请求,并且在步骤302,响应于所接收的计算任务请求,基于计算系统中的各计算单元的硬件和性能信息以及工作负载情况为用户的计算任务选择相应的计算资源。

下面,将参考图4来描述可以实现本发明的计算机设备。图4示意性示出了可以实现根据本发明的实施方式的计算机设备的结构方框图。

图4中所示的计算机系统包括CPU(中央处理单元)401、RAM(随机存取存储器)402、ROM(只读存储器)403、系统总线404、硬盘控制器405、键盘控制器406、串行接口控制器407、并行接口控制器408、显示器控制器409、硬盘410、键盘411、串行外部设备412、并行外部设备413和显示器414。在这些部件中,与系统总线404相连的有CPU 401、RAM 402、ROM 403、硬盘控制器405、键盘控制器406、串行接口控制器407、并行接口控制器408和显示器控制器409。硬盘410与硬盘控制器405相连,键盘411与键盘控制器406相连,串行外部设备412与串行接口控制器407相连,并行外部设备413与并行接口控制器408相连,以及显示器414与显示器控制器409相连。

图4所述的结构方框图仅仅为了示例的目的而示出的,并非是对本发明的限制。在一些情况下,可以根据需要添加或者减少其中的一些设备。

此外,本发明的实施方式可以以软件、硬件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的方法和系统可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本实施例的系统及其组件可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。

已经参照上述实施例对本发明进行了描述。但是应该注意的是本文所讨论的实施方式用于例示本发明。由于本发明的这些实施方式是参考例示来描述的,所以,对所述的方法和/或具体结构的各种修改和调整对于本领域技术人员是显而易见的。依赖于本发明的教导的、以及被这些教导用来推进本领域技术的所有这种修改、改造或变化都被认为是落在本发明的精神和范围中。因此,不应当将这些描述和附图看作是限制性的,这是因为可以理解本发明不以任何方式仅限于所示的实施方式。

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