一种任务调度方法及其装置与流程

文档序号:12041892阅读:188来源:国知局
一种任务调度方法及其装置与流程
本发明涉及通信技术领域,特别是涉及一种任务调度方法及其装置。

背景技术:
随着计算机应用范围的日益扩大,在现有固有网络中,分布式实时系统的应用越来越广泛,如气象预报、金融系统、交通系统以及电力系统等等。分布式系统是由多台分散的计算机,经互联网络连接而成的系统。实时系统是能及时响应外部发生的随机事件,并以足够快的速度完成对事件的处理的计算机应用系统。分布式实时系统结合了分布式系统和实时系统的特点,而分布式实时任务调度算法是分布式实时系统设计和实现的关键。在分布式系统中,任务调度算法按照调度程序的结构或调度程序所收集调度信息的范围,可以分为集中式调度算法、分布式调度算法和层次式调度算法。在实时系统中,调度算法有多种分类,根据任务是在一个或多个处理器上运行,分为单处理器实时调度和多处理器实时调度。在分布式实时系统中,将分布式系统的任务调度算法和实时系统中的任务调度算法相结合,主要包括以下几种算法:(1)层次式调度算法层次式调度算法是根据集中式、分布式方法的优缺点结合而成的一种任务调度方法,它将系统分为层次性的子系统,在不同层次上特殊的结点作为负载平衡决策的调度结点,以分散其集中式控制的整个系统的负载。以两层调度为例,调度结点依据自身的功能分为两层。所有的调度结点依据结点之间的调度关系形成一棵树。其中包括一个总的调度结点——第一层调度结点,第一层调度结点可以按任务复杂性派生多个子调度结点——第二层调 度结点,并由第二层调度结点来直接分配任务给计算机结点。通过这种层次调度,将原来一个调度结点要完成的工作,分布到多个调度结点来完成,从而较好的解决调度结点瓶颈问题。(2)加权轮转调度算法加权轮转调度算法(WeightedRoundRobin,简称WRR)的基本思想就是给每一个子队列分配一个权值,然后根据权值来调度不同的子队列中的数据包。对于WRR调度算法的权值是固定分配的,如果某一服务等级的分组到达速率较大,而其他服务等级的分组到达比较平稳时,由于每一服务等级的存储容量有限,可能会导致到达速率较大的服务等级的分组大量丢失,而其他服务等级的数据存储单元大量空闲,造成不必要的分组丢失。但是如果采用存储单元的动态分配机制,可能会引起其他服务等级的分组丢失,不恰当的存储单元动态分配机制还可能会导致低优先级的数据饥饿现象。(3)RMS调度算法任务按单调速率优先级分配(RMPA)的调度算法,称为RMS(Rate-MonotonicScheduling,单调速率调度)调度算法。RMPA是指任务的优先级按任务周期T来分配。它根据任务的执行周期的长短来决定调度优先级,那些具有小的执行周期的任务具有较高的优先级,周期长的任务优先级低。在任务执行期间,不接收新任务,也不进行优先级调整或CPU(CentralProcessingUnit,中央处理器)抢占。在现有的任务调度方法中,均采用先计划再调整的模式,各方法都无法做到对未知而又复杂多变的实际应用环境的全面适应,需要在实际应用中反复调整调度方法,网络结构才能完成预定任务,难以满足目前日趋复杂多变的多元实际应用。如图1所示,为现有任务调度方法的流程示意图。根据图1所示的流程可以看出,在现有的任务调度方法中,由于现有网络是固定的,无法根据实际任务需求提供服务,需要手工不断调整网络结构,效率较低。

技术实现要素:
本发明实施例提供一种任务调度方法及其装置,以提高任务调度的效率和灵活性。为了达到以上目的,本发明实施例提供了一种任务调度方法,包括:当接收到任务处理请求时,根据所请求处理的任务从可用设备中选择用于执行所述任务的设备;根据所述任务确定执行所述任务的设备中各设备的资源调配策略,并将所述资源调配策略通知给相应设备;当需要执行所述任务时,指示执行所述任务的设备中各设备根据对应的资源调配策略执行所述任务。本发明实施例还提供一种任务调度装置,包括:选择模块,用于当所述任务调度装置接收到任务处理请求时,根据所请求处理的任务从可用设备中选择用于执行所述任务的设备;确定模块,用于根据所述任务确定执行所述任务的设备中各设备的资源调配策略;发送模块,用于将所述资源调配策略通知给相应设备;指示模块,用于当需要执行所述任务,指示执行所述任务的设备中各设备根据对应的资源调配策略执行所述任务。与现有技术相比,本发明实施例所提出的技术方案具有以下优点:在发明中,当接收到任务处理请求时,根据所请求处理的任务从可用设备中选择用于执行该任务的设备,根据任务确定各设备的资源调配策略,并分配给相应的设备,由各设备根据对应的资源调配策略执行相应的任务,提高了任务调度的效率和灵活性。附图说明图1为现有技术中的任务调度方法的流程示意图;图2为本发明实施例提供的一种任务调度方法的流程示意图;图3为本发明实施例提供的一种任务调度方法的流程示意图;图4为本发明实施例提供的一种任务调度装置的结构示意图。具体实施方式针对上述现有技术中存在的问题,本发明实施例提供了一种按需组织网络的动态任务调度方法,在有任务需要处理时才动态组织用于执行该任务的网络,并进行资源调度和部署,以执行相应的任务。在该技术方案中,当接收到任务处理请求时,根据所请求处理的任务从可用设备中选择用于执行该任务的设备,根据任务确定各设备的资源调配策略,并分配给相应的设备,由各设备根据对应的资源调配策略执行相应的任务,提高了任务调度的效率和灵活性。下面将结合本发明的实施例中的附图,对本发明的实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明的实施例保护的范围。如图2所示,为本发明实施例提供的一种任务调度方法的流程示意图,可以包括以下步骤:步骤201、当接收到任务处理请求时,根据所请求处理的任务从可用设备中选择用于执行该任务的设备。具体的,在本发明实施例中,当接收到任务处理请求时,需要对该任务处理请求进行识别,以明确该任务处理请求所请求处理的任务,进而根据该请求处理的任务确定用于完成该任务所需网络。其中,该网络表明了用于执行该任务的各设备的功能(或类型)以及各设备之间的拓扑结构。其中,在本发明实施例中,可以预先定义任务与完成任务所需的网络的对应关系(如,对于短信网关性能测试,其对应的组网包含短信发送端、短信网关、短信接收端等),当接收到任务处理请求时,可以根据所请求处理的任务查询预先定义的任务与完成任务所需的网络的对应关系,以确定完成所请求处理的任务所需的网络。根据所确定的网络,可以确定执行该任务所需的各种功能(或类型)的设备,从而可以从可用设备中选择用于组成该网络的设备,以执行该任务。其中,在本发明实施例中,可以通过发送广播报文的方式获取系统各设备的可用状态信息,即可以向系统内各设备发送用于确定设备可用状态的广播报文,并根据接收到的响应报文确定系统内各设备的可用状态信息,该可用状态信息可以用于指示系统内各设备是否可用,即可以根据该可用状态信息确定系统内的可用设备。步骤202、根据所请求处理的任务确定执行该任务的设备中各设备的资源调配策略,并将该资源调配策略分配给相应设备。具体的,在本发明实施例中,当确定了用于执行所请求处理的任务的设备后,可以根据该任务确定执行该任务的设备中各设备所需执行的子任务,进而根据各设备所需执行的子任务确定各设备的资源调配策略。以所请求处理的任务为对短信网关进行上行短信性能测试为例,则执行该任务所需的设备包括用于发送上行短信的发送终端、用于接收上行短信的服务器等,从而可以从可用设备中选择用于模拟发送终端的设备以及用于模拟服务器的设备。对于用于模拟发送终端的设备,其所需要执行的子任务即为发送上行短信,相应地,需要配置该设备如何发送上行短信(如单发还是群发,发送的上行短信为多少字的短信等),以及该上行短信发送给谁等。步骤203、当需要执行所请求处理的任务时,指示执行所请求处理的任务的设备中各设备根据对应的资源调配策略执行该任务。具体的,在本发明实施例中,当确定了用于执行所请求处理的任务的设备 以及各设备对应的资源调配策略后,可以在任务处理请求所指示的时机,触发各设备根据对应的资源调配策略执行该任务。需要注意的是,在本发明实施例中,在确定了执行所请求处理的任务的设备以及各设备对应的资源调配策略后,在触发各设备执行任务之前,还可以对各设备的角色及各设备之间的网络连通性进行验证,即验证各设备是否能够根据所配置的资源调配策略完成自身对应的子任务,以及各设备组成的网络的连通性。例如,对于模拟上行短信发送终端的设备,若其对应的资源调配策略为向短信网关以单发的方式每分钟发送100条70个字的上行短信,则可以在正式执行任务之前,触发该设备发送上行短信,并根据网络中其他设备(短信网关、服务器)中的数据验证该设备是否根据所配置的资源调配策略工作以及网络的连通性。其中,在完成所请求处理的任务之后,还可以指示执行该任务的设备删除对应的资源调配策略。下面结合具体的应用场景对本发明实施例进行更加详细的描述。在该实施例中,以任务目标为在2012-1-117:30:00对A公司的短信网关进行30分钟10000条用户上行短信的性能测试为例。参见图3,为本发明实施例提供的一种任务调度的流程示意图,可以包括以下步骤:步骤301、确定任务:即在接到任务时,明确任务所请求处理的任务。具体的,在本发明实施例中,接收到的任务处理请求可以是一段文本,接收到该任务处理请求后,可以对该任务处理请求进行关键词识别,以确定所请求处理的任务。在该实施例中,根据接收到的任务处理请求可知所请求处理的任务为“对A公司的短信网关进行10000条用户上行短信的性能测试”,测试时长为“30分钟”,测试开始时间为“2012-1-117:30:00”。步骤302、分析任务:确定完成任务所需的设备。具体的,根据所请求处理的任务可以确定完成该任务所需的网络对应的网 络拓扑,进而确定完成该任务需要的设备。在该实施例中,根据完成短信网关的上行短信的性能测试的网络对应的网络拓扑可以确定完成该任务需要的设备,包括发送终端、接收服务器、性能监测设备等。步骤303、任务网络资源适配:根据完成任务所需的设备,结合系统内设备可用状态信息,分析确定网络资源适配策略。具体的,在确定了完成所请求处理的任务所需的设备之后,可以根据该设备需求确定系统内可用设备中满足需求的可用设备,并根据设备需求和该满足需求的可用设备确定网络资源适配策略,该网络资源适配策略用于确定如何从满足需求的可用设备中选择实际使用的设备。在该实施例中,假设系统中共有10台可以用于发送用户上行短信的设备,该10台设备中包括5台可以在30分钟内发送4000条用户上行短信的设备和5台可以在30分钟内发送1000条用户上行短信的设备,则相应的网络资源适配策略可以是最少资源使用优先,即使用最少的设备模拟10000条用户上行短信(从5台可以在30分钟内发送4000条用户上行短信的设备中选择3台设备);该网络资源适配策略还可以是性能优先,即根据可用资源的性能从中选择足够数量的性能更优的设备模拟10000条用户上行短信。需要注意的是,在本发明实施例中,网络资源适配策略并不限于上述两种策略,还可以包括其他策略(如按序循环使用、随机选择等),其具体实现在此不再赘述。在该实施例中,可以向系统内所有设备(以测试机器为例)发送广播报文,以询问相应的测试机器是否可用,并根据测试机器返回的响应报文确定各测试机器的可用状态。其中,广播报文中还可以携带有设备身份请求信息(如是否可以发送用户上行短信、是否可以接收用户上行短信),相应地,测试机器返回的响应报文中可以携带有设备身份确认信息。通过该广播报文,可以获知系统内各测设设备的可用状态以及各设备的身份。步骤304、网络自动组织:按照网络资源适配策略,自动组织针对该任务的网络。具体的,在确定网络资源适配策略之后,可以根据该网络资源适配策略从满足需求的可用设备中选择实际用于执行所请求处理的任务的设备,并根据所请求处理的任务将所选择的设备组织成执行该任务的网络。以网络资源适配策略为最少资源使用优先为例,则从5台可以在30分钟内发送4000条用户上行短信的设备中选择3台设备(假设为设备A、B和C)作为用户上行短信的发送终端。类似的,从系统的可用资源中选择用于作为服务器和性能监测设备的设备,并根据所请求处理的任务、所选择的设备以及各设备相应的身份(即发送终端、服务器和性能监测设备)组织用于完成所请求处理的任务的网络。步骤305、网络应用部署:组网完成后,按照任务需求来调度和分配所需的数据资源,并将该数据资源分配部署到网络自组织的测试机器中。如,对于发送终端,需要分配的数据资源可以包括号段、数据流量等。步骤306、实际应用适配:确定各测试机器在任务执行过程中采用的资源调配策略。具体的,当组织完用于完成所请求处理的任务的网络,并根据网络中各设备的身份向相应设备分配所需资源之后,需要进一步根据网络中各设备的身份配置各设备执行任务时的资源调配策略,即如何使用所分配的资源执行相应的任务。例如,对于设备A、B和C,其在网络中的身份均为用户上行短信的发送终端,在组织完用于完成所请求处理的任务的网络,并根据网络中各设备的身份向相应设备分配所需资源之后,需要配置设备A、B和C如何发送用户上行短信,如可以配置设备A以群发的方式在30分钟内发送3500条70个字的用户上行短信,设备B以单发的方式在30分钟内发送3500条70个字的用户上行短信,设备C以单发的方式在30分钟内发送3500条200个字的用户上行短 信。步骤307、实际应用组织:对各测试机器的身份以及网络连通性。即验证各测试机器是否能够根据所配置的资源调配策略完成各自的任务,以及各测试机器之间的网络连通性。步骤308、任务处理:按照组织好的任务流程,使用对应的资源调配策略执行所请求处理的任务。具体的,在确定了执行任务的设备及各设备的资源调配策略,并验证了各设备的身份及网络连通性后,可以在任务处理请求规定的时间(在该实施例中即为2012-1-117:30:00)触发任务处理。步骤309、结果反馈:收集任务处理的结果,反馈给任务发起者。步骤310、资源释放:各测试机器删除对应的资源调配策略。应该认识到,本发明实施例提供的技术方案并不限于应用于测试领域中,也可以应用于其他领域,如云计算平台、公共服务领域等,其具体实现流程在此不再赘述。通过以上流程可以看出,在本发明实施例提供的技术方案中,当接收到任务处理请求时,根据所请求处理的任务从可用设备中选择用于执行该任务的设备,根据任务确定各设备的资源调配策略,并分配给相应的设备,由各设备根据对应的资源调配策略执行相应的任务,提高了任务调度的效率和灵活性。基于上述方法实施例相同的技术构思,本发明实施例还提供了一种任务调度装置,可以应用于上述方法流程。如图4所示,为本发明实施例提供的一种任务调度装置的结构示意图,可以包括:选择模块41,用于当所述任务调度装置接收到任务处理请求时,根据所请求处理的任务从可用设备中选择用于执行所述任务的设备;确定模块42,用于根据所述任务确定执行所述任务的设备中各设备的资源调配策略;发送模块43,用于将所述资源调配策略通知给相应设备;指示模块44,用于当需要执行所述任务,指示执行所述任务的设备中各设备根据对应的资源调配策略执行所述任务。其中,所述选择模块41具体用于,根据所述任务确定完成所述任务所需的网络,所述网络包含了执行所述任务所需的设备以及各设备的拓扑结构;根据所述网络从可用设备中选择用于组成所述网络的设备。其中,本发明实施例提供的任务调度装置还可以包括:存储模块45,用于存储预先定义的任务与完成该任务所需网络的对应关系;所述选择模块41具体用于,通过以下方式实现根据所述任务确定完成所述任务所需的网络:通过查询预先定义的任务与完成该任务所需网络的对应关系,确定完成所请求处理的任务所需的网络。其中,所述选择模块41具体用于,获取系统内设备的可用状态信息,并根据所述可用状态信息确定系统内的可用设备;根据所请求处理的任务从可用设备中选择用于执行所述任务的设备。其中,所述选择模块41具体用于,通过以下方式实现获取系统内设备的可用状态信息:向系统内设备发送用于确定设备可用状态的广播报文,并根据接收到的响应报文确定系统内各设备的可用状态信息。其中,所述确定模块42具体用于,根据所述任务确定执行该任务的设备中各设备所需执行的子任务;根据各设备所需执行的子任务确定各设备的资源调配策略。其中,所述指示模块44还用于,在完成所述任务后,指示执行所述任务的设备删除对应的资源调配策略。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明 实施例可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或网络设备等)执行本发明实施例各个实施场景所述的方法。本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本发明实施例所必须的。本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。上述本发明实施例序号仅仅为了描述,不代表实施场景的优劣。以上公开的仅为本发明实施例的几个具体实施场景,但是,本发明实施例并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明实施例的业务限制范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1