CN101009642A - 一种基于任务分组的资源分配方法和装置 - Google Patents

一种基于任务分组的资源分配方法和装置 Download PDF

Info

Publication number
CN101009642A
CN101009642A CNA2006101564647A CN200610156464A CN101009642A CN 101009642 A CN101009642 A CN 101009642A CN A2006101564647 A CNA2006101564647 A CN A2006101564647A CN 200610156464 A CN200610156464 A CN 200610156464A CN 101009642 A CN101009642 A CN 101009642A
Authority
CN
China
Prior art keywords
task
resources
grouping
resource
module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2006101564647A
Other languages
English (en)
Other versions
CN100542139C (zh
Inventor
任艳花
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CNB2006101564647A priority Critical patent/CN100542139C/zh
Publication of CN101009642A publication Critical patent/CN101009642A/zh
Application granted granted Critical
Publication of CN100542139C publication Critical patent/CN100542139C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种基于任务分组的资源分配方法,首先对接收到的任务进行分组获得不同的任务分组,然后确定不同任务分组的期望资源数,并根据所述期望资源数为不同的任务分组分配资源,使得不同分组的任务获得资源服务的机会均等。本发明还公开了一种基于任务分组的资源分配装置,包括任务分组模块和管理模块,任务分组模块用于对任务进行分组,管理模块确定不同任务分组的期望资源数,并根据所述期望资源数为任务分组模块所分的不同任务分组分配资源。这种装置使得不同分组的任务获得资源服务的机会均等。

Description

一种基于任务分组的资源分配方法和装置
技术领域
本发明涉及资源分配技术,尤指一种基于任务分组的资源分配方法和装置。
背景技术
在基于客户端/服务器(C/S)模式的服务器程序中,合理地分配服务器端的资源可以使服务器程序能够更好地服务于客户端。服务器端的资源包括:线程、处理器、内存、带宽等等。
线程是进程中某个单一顺序的控制流。与创建一个进程相比,创建一个线程将会耗费小得多的系统资源,对于那些并发进程数特别多的应用,使用线程会比使用进程获得更好的性能。
为了提高处理器的使用率,出现了多线程技术。多线程技术解决了处理器单元内多个线程并发执行的问题,可以显著减少处理器单元的闲置时间,增加处理器单元的吞吐能力。但线程的创建和销毁都需要一定的占用处理器的时间片资源,所以如果在系统较忙时,频繁地创建和销毁线程,会增加单个任务的处理时间,反而会影响服务器程序的性能。
为了减少线程创建时间和线程销毁时间对服务器性能的影响,出现了线程池技术。线程池这种技术把线程创建时间和线程销毁时间分别安排在服务器程序的启动和结束的时间或者其他的空闲时间段。创建若干数量的线程后,让这些线程都处于空闲状态,当客户端有一个新任务时,唤醒线程池中的某一个空闲线程,让它来处理客户端的这个任务,当处理完这个任务后,线程又处于空闲状态。这样,当服务器程序处理客户端发来的请求时,就不会再有线程创建和销毁时间的开销了。
目前,线程池对客户端任务的调度是:只要有空闲的线程,就依次从任务队列中取出任务进行处理。
图1是对现有的线程池调度任务的方法进行举例说明的示意图,如图1所示,假设服务器应用程序的任务队列中有两种任务,一种是轻量级任务J1,耗费线程的时间为1毫秒(ms),另一种是重量级任务J2,耗费线程的时间是100000ms;另外还假设线程池中有两个线程Th1和Th2,且线程Th1和线程Th2的处理能力完全相同。
如图1所示,Th1和Th2只要空闲,就依次从任务队列中调度任务进行处理,调度过程如下:
Th1在第0ms取到了任务J2,Th1从第0ms到第100000ms被J2占用;
Th2在第0ms取到了任务J1,Th2从第0ms到第1ms被J1占用;
Th2在第1ms取到了任务J1,Th2从第1ms到第2ms被J1占用;
Th2在第2ms取到了任务J2,Th2从第2ms到第100002ms被J2占用;
Th1在第100000ms取到了任务J1,Th1从第100000ms到第100001ms被J1占用。
可以看出,从第2ms到第100000ms,线程池中的两个线程Th1和Th2都被重量级任务J2占用,使得极容易处理的轻量级任务J1要等过这段时间后才能得到被线程处理的机会。虽然重量级任务和轻量级任务对空闲状态线程的占有机会是均等的,但是一旦重量级任务抢占了线程池中的线程,就会占用较长的时间。所以,在现有的线程池调度任务的方法中,重量级任务和轻量级任务占有线程池中的线程的时间比例是不同的。例如在图1所示的例子中,队列中有3个轻量级任务J1和两个轻量级任务J2,处理这五个任务需要的总时间Totaltime等于处理3个J1的时间加上处理2个J2的时间,即:
Totaltime=3×1ms+2×100000ms
因此,处理3个J1的时间占总时间的比例RateJ1和处理2个J2的时间占总时间的比例RateJ2分别为:
RateJ1=3×1ms/Totaltime=3×1ms/(3×1ms+2×100000ms)=0.0015%
RateJ2=2×100000ms/Totaltime=2×100000ms/(3×1ms+2×100000ms)=99.9985%
从上面的公式可以看出,在轻量级任务和重量级任务的数量相差不多的情况下,重量级任务占用线程时间的比例要大很多,轻量级任务在争抢线程池中的线程资源时相对处于弱势。这时,很容易出现重量级的任务占用了全部的线程资源,而轻量级任务得不到线程处理的情况。
实际应用中重量级任务占用全部线程资源的情况很多,例如,图2是智能网预付费信令的流程图,在图2中,主叫移动交换中心/访问位置寄存器/业务交换点(MSCa/VLR/SSP)可以看成是客户端,主叫业务控制点(SCPa)可以看成是服务器,初始检测点消息(IDP)和申请计费报告消息(ACR)相对其他任务为重量级任务,而基本呼叫状态模型事件报告消息(ERB)是轻量级任务。
如果按现有的线程资源调度方法对SCPa中的线程资源进行调度,当每秒的呼叫次数比较大的时候,就有可能使SCPa的线程资源都被IDP和ACR占用,而这个流程中的ERB任务不能得到SCPa线程的及时处理,从而造成会话超时,呼损率提高。
从以上说明可以看出,由于重量级的任务占用全部的线程资源,对服务器应用程序和客户端程序会造成不良影响。对于服务器程序来说,在所有的线程资源都被重量级任务占用的时间段内,任务队列中的其它任务得不到调度处理,使得积累在任务队列中的任务越来越多,服务器程序占用的系统内存也越来越大,最后可能导致任务队列拥塞,甚至导致服务器应用程序崩溃。对于客户端程序来说,会导致客户端的请求响应不及时,且当客户端的一个任务由多个不同重量级的任务组成时,由于服务器的所有线程资源都被重量级任务占用,其他量级的任务无法得到响应,从而导致客户端的业务无法实现。
总之,现有的线程池调度方法中,部分任务占用全部资源的情况,使得其它任务无法获得线程资源的服务。
发明内容
本发明实施例提供一种基于任务分组的资源分配方法,使得不同分组的任务获得资源服务的机会均等。
本发明实施例还提供一种基于任务分组的资源分配装置,使得不同分组的任务获得资源服务的机会均等。
本发明实施例公开了一种基于任务分组的资源分配方法,该方法包括:
对接收到的任务进行分组,获得不同的任务分组;
根据资源总数,和/或任务分组总数,和/或不同的任务分组的任务权重确定所述不同的任务分组的期望资源数;
根据所述期望资源数为不同的任务分组分配资源。
本发明还公开了一种基于任务分组的资源分配装置,其特征在于,该装置包括:
任务分组模块,用于对接收到的任务进行分组,并将不同分组的任务分配到相应的任务分组队列中;
管理模块,用于为所述任务分组模块中的不同的任务分组计算期望资源数,并根据所述期望资源数为不同的任务分组队列分配资源。
由上述技术方案可见,本发明实施例方案首先对任务进行分组,获得不同的任务分组,然后确定不同任务分组的期望资源数,并根据所述期望资源数为各个不同的任务分组队列分配资源,使得不同分组的任务获得资源服务的机会均等,从而避免了部分分组的任务占用全部资源,而其他分组的任务无法获得资源服务的情况。
附图说明
图1是对现有的线程池调度任务的方法进行举例说明的示意图;
图2是智能网也付费信令的流程图;
图3是本发明实施例基于任务分组的资源分配方法的流程图;
图4是本发明实施例基于任务分组的资源分配装置的结构框图;
图5是本发明实施例基于任务分组的线程池资源分配方案的示意图;
图6是本发明实施例基于任务分组的线程资源分配装置的结构框图;
图7是服务器应用程序处理任务的流程图;
图8是服务器应用程序调度空闲线程的流程图;
图9是服务器应用程序调度忙碌线程的流程图。
具体实施方式
本发明实施例为了使各种任务得到资源服务的机会均等,首先对接收到的任务进行分组,然后确定不同任务分组的期望资源数,并根据所述期望资源数为不同任务分组分配资源。
图3是本发明实施例基于任务分组的资源分配方法的流程图,包括以下步骤:
步骤301,对接收到的任务进行分组,获得不同的任务分组。
这里,可以根据处理任务所需资源的数目和/或任务的属性对接收到的任务进行分组,其中,任务的属性可以是任务所属的客户或任务的权重。
步骤302,根据资源总数,和/或任务分组总数,和/或不同的任务分组的任务权重确定不同任务分组的期望资源数,并根据所述期望资源数为不同任务分组分配资源。
本步骤中,可以根据式(1)所示的资源分配公式确定不同任务分组的期望资源数,式(1)的具体形式如下:
R i = R × ( r i / Σ m = 1 M r m ) i = 1,2 , . . . , M - - - ( 1 )
其中,期望资源数Ri表示分配给第i个任务分组的期望服务器资源数目;
总的资源数R表示总的服务器资源数目;
ri表示当前第i个任务分组中的任务权重;
rm表示第m个任务分组中的任务权重,m=1,2,…,M;
任务分组个数M表示总的任务分组个数。
公式(1)的含义是:为第i个任务分组分配的期望资源数占总的资源数的百分比例,等于第i个任务分组中的任务的权重占M个任务分组中的任务的权重的总和的百分比例。
当公式(1)中的参数R,和/或ri,和/或M发生变化时,重新计算资源分配公式,并根据计算结果重新为每组任务分配服务器资源。
图3所示的方法可以在一定程度上保证不同分组的任务获得服务器资源服务的机会均等。
图4是本发明实施例基于任务分组的资源分配装置的结构框图,该装置包括管理模块401和任务分组模块402。
管理模块401,用于为所述任务分组模块中的不同的任务分组计算期望资源数,并根据所述期望资源数为不同的任务分组队列分配资源。
任务分组模块402,接收客户端发送的任务,对接收到的任务进行分组,并将不同分组的任务分配到相应的任务分组队列中;
以下以服务器端的线程池资源为较佳实施例,对本发明实施例进一步详细说明。
图5是本发明实施例基于任务分组的线程池资源分配方案的示意图,如图5所示,客户端的任务首先通过客户端和服务器端的接口装置任务执行器501转发后,被发送到基于任务分组的线程资源分配装置502。基于任务分组的线程资源分配装置502根据任务的类型将任务分配到任务分组队列中相应的任务分组队列当中,并根据资源分配公式动态地将线程池503中的线程资源分配给各组任务。
在图5所示的实施例中,假设资源是服务器中的线程,则式(1)所示的资源分配公式可改写成如下的线程资源分配公式:
N i = N × ( T i / Σ m = 1 M T m ) i = 1,2 , . . . , M - - - ( 2 )
其中,期望线程个数Ni表示服务于第i个任务分组的期望线程个数;
总的线程N表示线程池中总的线程个数;
Ti表示一个线程处理一项第i个任务分组中的任务所需的时间;
Tm表示一个线程处理一项第m个任务分组中任务所需的时间;
任务分组个数M表示总的任务分组个数。
假设图5中所有任务按照重量级的轻重被分成3组,即M=3。第1组是重量级任务,第3组是轻量级任务,第2组是重量级介于第1组和第3组之间的任务。这里任务的重量级是指线程处理任务时,任务占用线程时间的长短。每种任务按照到达的先后顺序排列在各自的队列当中。线程池中总共有N个线程,按照资源分配公式(2)进行线程资源分配的结果是:服务于第1组任务的线程个数为N1,服务于第2组任务的线程个数为N2,服务于第3组任务的线程个数为N3,且N1+N2+N3=N。
图6是本发明实施例基于任务分组的线程资源分配装置的结构框图,如图6所示,基于任务分组的线程资源分配装置502包括:管理模块601、任务分组模块602、动态分析模块603、线程资源调度模块604、和任务队列过载检测模块605。
管理模块601,用于根据线程资源分配公式(2)为任务分组模块602所分的各个任务分组分配线程。管理模块601还记录第i个任务分组的期望线程个数Ni、实际服务于第i种任务分组的实际线程个数、一个线程处理一项第i个任务分组中的任务所需的时间Ti、线程池中总的线程个数N、每个任务队列能容纳的最大任务个数Jmaxi和各个任务分组队列的标识信息。任务分组队列的标识信息用于唯一地标记相应的任务分组。上述参数中i=1,2,…,M。当总的分组个数M变化时,管理模块601重新计算线程资源分配公式(2),并记录计算结果。
任务分组模块602,用于接收客户端发送的任务,对接收到的任务进行分组,并将各个不同任务分组队列的标识信息注册到管理模块601中。
任务分组模块602在将所分组的任务分配到相应的任务分组队列中之前,向任务队列过载检测模块605发出检测通知,当收到任务队列过载检测模块605返回的未过载通知时,再将不同分组的任务分配到相应的任务分组队列中。
本实施例中任务分组模块602是按照线程处理任务所需的时间的长短,即按任务的重量级大小进行的分组,这样的分组在一定程度上能够保证不同重量级的任务得到线程处理的机会均等。也可以按照任务的客户号进行分组,这样的分组在一定程度上能够保证不同客户的任务得到线程处理的机会均等。以此类推,可以根据任务的各种属性进行分组,使不同组的任务得到线程处理的机会均等。
任务队列过载检测模块605,用于接收任务分组模块602发出的检测通知后,从管理模块601读取相应任务分组队列所能容纳的最大任务个数Jmaxi,并检查任务分组模块中相应的任务队列中的任务个数是否达到Jmaxi。如果相应的任务队列中的任务个数未达到Jmaxi,则任务队列过载检测模块605向任务分组模块602返回未过载的通知。
任务队列过载检测模块605本身也可以记录各个任务分组队列所能容纳的最大任务个数Jmaxi,此时无需向管理模块601查询。
动态分析模块603,用于从任务分组模块602获取第i个任务分组队列中的任务,并分析线程处理一项第i个任务分组队列中的任务所需的时间Ti,将Ti注册到管理模块601中,i=1,2,…,M;并在增加一个新的任务分组队列,即客户端任务请求中出现第M+1种属性的任务时,接收线程资源调度模块604发送的分析通知,从任务分组模块602获取第M+1组任务队列中的任务,分析线程处理该组任务分组队列中的一项任务所需的时间TM+1’并将TM+1注册到管理模块601中。
管理模块601接收到TM+1后,根据线程资源分配公式重新计算每个任务分组队列的期望线程个数Ni,i=1,2,…,M+1,并记录计算结果。
在本实施例中资源分配公式中任务的权重是线程处理一项任务所需的时间Ti,任务分组模块602接收到的任务本身并不携带关于Ti的信息,因此需要动态分析模块来分析不同任务分组中任务的权重Ti。但任务分组模块602接收到的任务本身也可以直接携带任务权重信息,此时任务分组模块602直接将不同任务分组中任务的权重注册到管理模块中,而不需要动态分析模块603去分析任务的权重。
线程资源调度模块604,用于调度处于空闲状态的空闲线程和处理完当前任务的忙碌线程。即在总的任务分组个数发生变化时,通过调度空闲资源和忙碌资源来实现资源的重新分配。
线程资源调度模块604调度空闲资源是:
首先线程资源调度模块604向空闲资源发出激活通告,激活处于空闲状态的线程;之后,向管理模块601查询是否存在尚未确定期望资源数的任务分组队列,即查询是否存在新增的任务分组队列,如果存在,则向动态分析模块603发送分析通知,分析通知中包含尚未确定期望资源数的任务分组队列的标识信息;动态分析模块603根据根据分析通知中的标识信息从任务分组模块602中的尚未确定期望资源数的任务分组队列中获取任务,并分析线程处理该尚未确定期望资源数的任务分组队列中的一项任务所需的时间TM+1并将TM+1注册到管理模块601中;
当不存在尚未确定期望资源数的任务分组队列时,线程资源调度模块604向管理模块601查询是否存在实际线程个数小于期望线程个数Ni的任务分组队列。实际线程个数是指实际服务于该任务分组队列的线程个数。如果存在实际线程个数小于期望线程个数Ni的任务分组队列,则线程资源调度模块604将新激活的线程添加到实际线程个数小于期望线程个数Ni的任务分组队列的线程工作空间,并更新注册在管理模块601中的该任务分组队列的实际线程个数;否则释放激活的线程,使其重新回到空闲状态。
线程资源调度模块604调度忙碌资源是:
线程资源调度模块604待忙碌线程处理完当前任务之后,同样向管理模块601查询是否存在尚未确定期望资源数的任务分组队列,如果存在,则向动态分析模块603发送分析通知,使动态分析模块603分析线程处理该尚未确定期望资源数的任务分组中的一项任务所需的时间TM+1,并将TM+1注册到管理模块601中;
当不存在尚未确定期望资源数的任务分组队列时,线程资源调度模块604向管理模块601查询是否存在实际线程个数小于期望线程个数Ni的任务分组队列。如果存实际线程个数小于期望线程个数Ni的任务分组队列,则线程资源调度模块604将忙碌线程添加到实际线程个数小于期望线程个数Ni的任务分组队列的线程工作空间,并更新注册在管理模块601中的该任务分组队列的实际线程个数;否则释放忙碌线程,使其变成空闲线程。
上述过程中,资源调度模块604向管理模块601查询是否存在尚未确定期望资源数的任务分组队列是,通过查询管理模块601中记录的各个不同任务分组队列的标识信息和期望资源数来确定是否存在尚未确定期望资源数的任务分组队列。例如,管理模块601中记录了某个任务分组的标识信息,却没有记录该任务分组的期望资源数,则该任务分组是尚未确定期望资源数的任务分组。
下面通过描述服务器应用程序处理任务及调度线程池中线程的过程,来进一步详细说明本发明实施例的技术方案。
图7是服务器应用程序处理任务的流程图。图7所示,包括以下步骤:
步骤701,确定客户端程序提交的任务的重量级。
步骤702,根据任务的重量级查询任务分组队列中是否存在相应重量级的任务分组队列,如果存在执行步骤703,否则执行步骤704。
步骤703,检测相应重量级的任务分组队列是否过载,即检查相应任务分组队列中的任务数量是否大于Jmax,是则执行步骤706,否则执行步骤707。
步骤704,新建一个任务分组队列,并将任务添加到该任务分组队列中。
步骤705,根据线程资源分配公式(2)重新分配线程。结束本流程。
步骤706,拒绝客户端的任务提交。结束本流程。
步骤707,将任务添加到相应的任务分组队列中,并向线程池中的空闲线程发出激活通告。
步骤705中所述根据线程资源分配公式(2)重新分配线程是,通过以一定的方法调度空闲线程和忙碌线程来实现的。下面介绍本发明提供的空闲线程和忙碌线程调度方法。
图8是服务器应用程序调度空闲线程的流程图。如图8所示,包括以下步骤:
步骤801,向线程池中的空闲线程发出激活通告,以激活处于空闲状态的线程。
步骤802,按照任务分组队列创建的时间顺序查询是否存在尚未确定期望资源数的任务分组,如果存在,执行步骤803,否则,执行步骤804。
步骤803,通过线程的自学习获得线程处理一项尚未确定期望资源数的任务分组中的任务所需的时间TM+1,根据线程资源分配公式(2)重新计算服务于每个任务分组的期望线程个数Ni,并记录计算结果。执行步骤802。
步骤804,按照任务分组队列创建的时间顺序查询是否存在实际线程个数没有达到期望值的任务分组,如果存在,执行步骤805;否则,执行步骤806。
实际线程个数没有达到期望值的任务分组,是指实际服务于该任务分组的线程个数少于由线程资源分配公式(2)计算得出的该任务分组队列的期望线程个数Ni
步骤805,将激活的空闲线程添加到实际线程个数没有达到期望值的任务分组的线程工作空间中。结束本流程。
步骤806,释放该线程,使线程回到空闲状态,等待激活。
图9是服务器应用程序调度忙碌线程的流程图。如图9所示,包括以下步骤:
步骤901,当线程忙碌时,等待忙碌线程完成正在处理的任务后,执行步骤902。
步骤902,按照任务分组队列创建的时间顺序查询是否存在尚未确定期望资源数的任务分组,如果存在,执行步骤903,否则,执行步骤904。
步骤903,通过线程的自学习获得线程处理一项尚未确定期望资源数的任务分组中的任务所需的时间TM+1,根据线程资源分配公式(2)重新计算服务于每个任务分组的期望线程个数Ni,并记录计算结果。执行步骤902。
步骤904,按照任务分组队列创建的时间顺序查询是否存在实际线程个数没有达到期望值的任务分组,如果存在,执行步骤905;否则,执行步骤906。
步骤905,将激活的线程添加到实际线程个数没有达到期望值的任务分组的线程工作空间中。结束本流程。
步骤906,释放该线程,使线程变为空闲线程,等待激活。
在上述服务器应用程序调度线程的过程中,首先查询是否存在尚未确定期望资源数的任务分组,如果存在,则优先分析该任务分组中任务的权重,然后重新确定各个任务分组的期望资源数。这种方案避免了新增加的任务分组长时间得不到线程处理的情况。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (11)

1、一种基于任务分组的资源分配方法,其特征在于,该方法包括:
对接收到的任务进行分组,获得不同的任务分组;
根据资源总数,和/或任务分组总数,和/或不同的任务分组的任务权重确定所述不同的任务分组的期望资源数;
根据所述期望资源数为不同的任务分组分配资源。
2、如权利要求1所述的方法,其特征在于,该方法还包括:接收到新任务,判断所述新任务是否属于已经存在的任务分组,如果属于,则将所述新任务分配到相应的已经存在的任务分组中;否则,
新建一个任务分组,并将所述新任务分配到新建的任务分组中,同时,根据变化后的任务分组总数,重新确定不同的任务分组的期望资源数,并根据重新确定的期望资源数为不同的任务分组重新分配资源。
3、如权利要求2所述的方法,其特征在于,在将所述新任务分配到相应的已经存在的任务分组中之前,进一步包括:确定所述相应的已经存在的任务分组未过载。
4、如权利要求1所述的方法,其特征在于,该方法还包括:重新确定不同的任务分组的期望资源数,根据重新确定的期望资源数为不同的任务分组分配资源,包括:
查询是否存在尚未确定期望资源数的任务分组,如果存在,则根据资源总数,和/或任务分组总数,和/或当前不同的任务分组的任务权重,重新确定当前不同的任务分组的期望资源数;
当不存在尚未确定期望资源数的任务分组时,查询是否存在实际资源数小于所述期望资源数的任务分组,如果存在,则将空闲资源或处理完当前任务的忙碌资源分配给所述实际资源数小于期望资源数的任务分组;否则,释放所述空闲资源或处理完当前任务的忙碌资源。
5、如权利要求1所述的方法,其特征在于,对接收到的任务进行分组具体为:根据处理所述接收任务所需资源的数目和/或所述接收任务的属性进行分组。
6、如权利要求1至5所述的任一方法,其特征在于,所述资源具体为服务器端的处理器、线程、内存或带宽。
7、一种基于任务分组的资源分配装置,其特征在于,该装置包括:
任务分组模块,用于对接收到的任务进行分组,并将不同分组的任务分配到相应的任务分组队列中;
管理模块,用于为所述任务分组模块中的不同的任务分组计算期望资源数,并根据所述期望资源数为不同的任务分组队列分配资源。
8、如权利要求7所述的装置,其特征在于,该装置进一步包括:动态分析模块,用于从所述任务分组模块中的不同任务分组队列获取任务,分析不同任务分组队列中任务的权重,并将不同任务分组队列中任务的权重注册到所述管理模块中;
所述任务分组模块进一步用于将不同任务分组队列的标识信息注册到所述管理模块中;
所述管理模块进一步用于,接收并记录所述动态分析模块发送的不同任务分组队列中任务权重的注册值、所述任务分组模块发送的不同任务分组队列的标识信息,并记录计算得到的不同任务分组队列的期望资源数和实际分配给不同任务分组队列的实际资源数;管理模块根据资源总数,和/或任务分组总数,和/或不同的任务分组的任务权重计算所述不同的任务分组的期望资源数。
9、如权利要求8所述的装置,其特征在于,该装置进一步包括:资源调度模块,用于从所述管理模块查询是否存在尚未确定期望资源数的任务分组队列,在存在尚未确定期望资源数的任务分组队列时,向所述动态分析模块发送分析通知;
所述动态分析模块进一步用于,接收来自资源调度模块的分析通知,从所述分组模块中的尚未确定期望资源数的任务分组队列中获取任务,分析尚未确定期望资源数的任务分组队列中任务的权重,并将分析得到任务权重注册到所述管理模块中;
所述管理模块进一步用于,接收来自所述动态分析模块的任务权重的注册值,重新计算并记录当前不同的任务分组的期望资源数。
10、根据权利要求9所述的装置,其特征在于,在不存在尚未确定期望资源数的任务分组队列时,
所述资源调度模块进一步用于,从所述管理模块查询是否存在实际资源数小于期望资源数的任务分组队列,在存在时,将空闲资源或处理完当前任务的忙碌资源分配给所述实际资源数小于期望资源数的任务分组队列,并更新管理模块中记录的所述实际资源数小于期望资源数的任务分组队列的实际资源数;
在不存在时,所述资源调度模块释放空闲资源或处理完当前任务的忙碌资源。
11、如权利要求7所述的装置,其特征在于,该装置进一步包括:任务队列过载检测模块,用于接收来自所述任务分组模块的检测通知,检测相应的任务分组队列是否过载,在未过载时,向所述任务分组模块发送未过载通知;
所述任务分组模块进一步用于,接收来自任务队列过载检测模块的未过载通知,将所述已分组的任务分配到所述相应的任务分组队列中。
CNB2006101564647A 2006-12-31 2006-12-31 一种基于任务分组的资源分配方法和装置 Expired - Fee Related CN100542139C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2006101564647A CN100542139C (zh) 2006-12-31 2006-12-31 一种基于任务分组的资源分配方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2006101564647A CN100542139C (zh) 2006-12-31 2006-12-31 一种基于任务分组的资源分配方法和装置

Publications (2)

Publication Number Publication Date
CN101009642A true CN101009642A (zh) 2007-08-01
CN100542139C CN100542139C (zh) 2009-09-16

Family

ID=38697785

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006101564647A Expired - Fee Related CN100542139C (zh) 2006-12-31 2006-12-31 一种基于任务分组的资源分配方法和装置

Country Status (1)

Country Link
CN (1) CN100542139C (zh)

Cited By (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102307198A (zh) * 2011-08-30 2012-01-04 苏州阔地网络科技有限公司 一种音视频数据的传输方法
CN102467412A (zh) * 2010-11-16 2012-05-23 金蝶软件(中国)有限公司 一种处理操作请求的方法、装置及业务系统
CN102567086A (zh) * 2010-12-30 2012-07-11 中国移动通信集团公司 一种任务调度的方法、设备和系统
CN102629220A (zh) * 2012-03-08 2012-08-08 北京神州数码思特奇信息技术股份有限公司 一种动态任务分配管理方法
CN101562622B (zh) * 2009-06-05 2012-09-26 杭州华三通信技术有限公司 一种执行用户请求的方法及其对应的服务器
CN102902573A (zh) * 2012-09-20 2013-01-30 北京搜狐新媒体信息技术有限公司 一种基于共享资源的任务的处理方法及装置
WO2013029425A1 (zh) * 2011-09-01 2013-03-07 苏州阔地网络科技有限公司 一种音视频数据传输方法
CN101140528B (zh) * 2007-08-31 2013-03-20 中兴通讯股份有限公司 一种实现集群内定时任务负载分担的方法及装置
CN103098533A (zh) * 2010-09-10 2013-05-08 三星电子株式会社 用于在机器对机器通信系统中支持定期组播传输的装置和方法
CN103179285A (zh) * 2011-12-21 2013-06-26 中国移动通信集团山西有限公司 一种话单文件的采集方法及装置
CN103248644A (zh) * 2012-02-08 2013-08-14 腾讯科技(深圳)有限公司 一种插件升级检测任务的负载均衡方法及装置
CN103365729A (zh) * 2013-07-19 2013-10-23 哈尔滨工业大学深圳研究生院 一种基于任务类型的动态MapReduce 调度方法及系统
CN103533002A (zh) * 2012-07-05 2014-01-22 阿里巴巴集团控股有限公司 一种数据处理方法和系统
CN104750556A (zh) * 2015-04-14 2015-07-01 浪潮电子信息产业股份有限公司 一种hpc集群作业调度方法及装置
CN103810048B (zh) * 2014-03-11 2017-01-18 国家电网公司 一种面向资源利用最优的线程数量自动调整方法及装置
CN106557366A (zh) * 2015-09-28 2017-04-05 阿里巴巴集团控股有限公司 任务分发方法、装置及系统
CN103946803B (zh) * 2011-10-17 2017-09-29 凯为公司 具有高效工作排队的处理器
CN107341056A (zh) * 2017-07-05 2017-11-10 郑州云海信息技术有限公司 一种基于网络文件系统的线程分配的方法及装置
CN107643944A (zh) * 2016-07-21 2018-01-30 阿里巴巴集团控股有限公司 一种处理任务的方法和设备
CN108965364A (zh) * 2017-05-22 2018-12-07 杭州海康威视数字技术股份有限公司 资源配置方法、装置及系统
CN109063037A (zh) * 2018-07-17 2018-12-21 叶舒婷 一种查询方法、服务设备、终端设备以及计算机可读存储介质
CN109426561A (zh) * 2017-08-29 2019-03-05 阿里巴巴集团控股有限公司 一种任务处理方法、装置及设备
CN109614222A (zh) * 2018-10-30 2019-04-12 成都飞机工业(集团)有限责任公司 一种多线程资源分配方法
CN109669776A (zh) * 2018-12-12 2019-04-23 北京文章无忧信息科技有限公司 检测任务的处理方法、装置和系统
CN109697118A (zh) * 2017-10-20 2019-04-30 北京京东尚科信息技术有限公司 流式计算任务管理方法、装置、电子设备及存储介质
CN111338882A (zh) * 2018-12-18 2020-06-26 北京京东尚科信息技术有限公司 数据监控方法、装置、介质及电子设备
CN111435315A (zh) * 2019-01-14 2020-07-21 北京沃东天骏信息技术有限公司 分配资源的方法、装置、设备和计算机可读介质
CN112559148A (zh) * 2020-12-14 2021-03-26 用友网络科技股份有限公司 有序任务的执行方法、执行装置和执行系统
CN112667369A (zh) * 2020-06-08 2021-04-16 宸芯科技有限公司 一种线程调度方法、装置、存储介质及电子设备
CN113220360A (zh) * 2016-10-20 2021-08-06 华为技术有限公司 应用启动的管控方法和管控设备
JP6990802B1 (ja) 2019-07-12 2022-01-12 之江実験室 Sparkに基づくマルチセンターのデータ協調コンピューティングのストリーム処理方法
CN114283046A (zh) * 2021-11-19 2022-04-05 广州市城市规划勘测设计研究院 基于icp算法的点云文件配准方法、装置及存储介质
CN114565284A (zh) * 2022-03-02 2022-05-31 北京百度网讯科技有限公司 一种任务分配的方法、系统、电子设备及存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017075087A1 (en) * 2015-10-27 2017-05-04 Blackberry Limited Detecting resource access

Cited By (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101140528B (zh) * 2007-08-31 2013-03-20 中兴通讯股份有限公司 一种实现集群内定时任务负载分担的方法及装置
CN101562622B (zh) * 2009-06-05 2012-09-26 杭州华三通信技术有限公司 一种执行用户请求的方法及其对应的服务器
CN103098533A (zh) * 2010-09-10 2013-05-08 三星电子株式会社 用于在机器对机器通信系统中支持定期组播传输的装置和方法
CN102467412A (zh) * 2010-11-16 2012-05-23 金蝶软件(中国)有限公司 一种处理操作请求的方法、装置及业务系统
CN102567086B (zh) * 2010-12-30 2014-05-07 中国移动通信集团公司 一种任务调度的方法、设备和系统
CN102567086A (zh) * 2010-12-30 2012-07-11 中国移动通信集团公司 一种任务调度的方法、设备和系统
CN102307198A (zh) * 2011-08-30 2012-01-04 苏州阔地网络科技有限公司 一种音视频数据的传输方法
WO2013029425A1 (zh) * 2011-09-01 2013-03-07 苏州阔地网络科技有限公司 一种音视频数据传输方法
CN103946803B (zh) * 2011-10-17 2017-09-29 凯为公司 具有高效工作排队的处理器
CN103179285B (zh) * 2011-12-21 2015-10-07 中国移动通信集团山西有限公司 一种话单文件的采集方法及装置
CN103179285A (zh) * 2011-12-21 2013-06-26 中国移动通信集团山西有限公司 一种话单文件的采集方法及装置
CN103248644A (zh) * 2012-02-08 2013-08-14 腾讯科技(深圳)有限公司 一种插件升级检测任务的负载均衡方法及装置
CN103248644B (zh) * 2012-02-08 2016-07-06 腾讯科技(深圳)有限公司 一种插件升级检测任务的负载均衡方法及装置
CN102629220A (zh) * 2012-03-08 2012-08-08 北京神州数码思特奇信息技术股份有限公司 一种动态任务分配管理方法
CN103533002A (zh) * 2012-07-05 2014-01-22 阿里巴巴集团控股有限公司 一种数据处理方法和系统
CN102902573A (zh) * 2012-09-20 2013-01-30 北京搜狐新媒体信息技术有限公司 一种基于共享资源的任务的处理方法及装置
CN103365729A (zh) * 2013-07-19 2013-10-23 哈尔滨工业大学深圳研究生院 一种基于任务类型的动态MapReduce 调度方法及系统
CN103810048B (zh) * 2014-03-11 2017-01-18 国家电网公司 一种面向资源利用最优的线程数量自动调整方法及装置
CN104750556A (zh) * 2015-04-14 2015-07-01 浪潮电子信息产业股份有限公司 一种hpc集群作业调度方法及装置
CN106557366B (zh) * 2015-09-28 2020-09-08 阿里巴巴集团控股有限公司 任务分发方法、装置及系统
CN106557366A (zh) * 2015-09-28 2017-04-05 阿里巴巴集团控股有限公司 任务分发方法、装置及系统
CN107643944A (zh) * 2016-07-21 2018-01-30 阿里巴巴集团控股有限公司 一种处理任务的方法和设备
CN113220360B (zh) * 2016-10-20 2023-09-12 华为技术有限公司 应用启动的管控方法和管控设备
US11474831B2 (en) 2016-10-20 2022-10-18 Huawei Technologies Co., Ltd. Application startup control method and control device
CN113220360A (zh) * 2016-10-20 2021-08-06 华为技术有限公司 应用启动的管控方法和管控设备
CN108965364B (zh) * 2017-05-22 2021-06-11 杭州海康威视数字技术股份有限公司 资源配置方法、装置及系统
CN108965364A (zh) * 2017-05-22 2018-12-07 杭州海康威视数字技术股份有限公司 资源配置方法、装置及系统
CN107341056A (zh) * 2017-07-05 2017-11-10 郑州云海信息技术有限公司 一种基于网络文件系统的线程分配的方法及装置
CN109426561A (zh) * 2017-08-29 2019-03-05 阿里巴巴集团控股有限公司 一种任务处理方法、装置及设备
CN109697118A (zh) * 2017-10-20 2019-04-30 北京京东尚科信息技术有限公司 流式计算任务管理方法、装置、电子设备及存储介质
CN109063037A (zh) * 2018-07-17 2018-12-21 叶舒婷 一种查询方法、服务设备、终端设备以及计算机可读存储介质
CN109614222A (zh) * 2018-10-30 2019-04-12 成都飞机工业(集团)有限责任公司 一种多线程资源分配方法
CN109614222B (zh) * 2018-10-30 2022-04-08 成都飞机工业(集团)有限责任公司 一种多线程资源分配方法
CN109669776B (zh) * 2018-12-12 2023-08-04 北京文章无忧信息科技有限公司 检测任务的处理方法、装置和系统
CN109669776A (zh) * 2018-12-12 2019-04-23 北京文章无忧信息科技有限公司 检测任务的处理方法、装置和系统
CN111338882A (zh) * 2018-12-18 2020-06-26 北京京东尚科信息技术有限公司 数据监控方法、装置、介质及电子设备
CN111435315A (zh) * 2019-01-14 2020-07-21 北京沃东天骏信息技术有限公司 分配资源的方法、装置、设备和计算机可读介质
JP6990802B1 (ja) 2019-07-12 2022-01-12 之江実験室 Sparkに基づくマルチセンターのデータ協調コンピューティングのストリーム処理方法
JP2022508354A (ja) * 2019-07-12 2022-01-19 之江実験室 Sparkに基づくマルチセンターのデータ協調コンピューティングのストリーム処理方法
CN112667369A (zh) * 2020-06-08 2021-04-16 宸芯科技有限公司 一种线程调度方法、装置、存储介质及电子设备
CN112559148A (zh) * 2020-12-14 2021-03-26 用友网络科技股份有限公司 有序任务的执行方法、执行装置和执行系统
CN114283046A (zh) * 2021-11-19 2022-04-05 广州市城市规划勘测设计研究院 基于icp算法的点云文件配准方法、装置及存储介质
CN114565284A (zh) * 2022-03-02 2022-05-31 北京百度网讯科技有限公司 一种任务分配的方法、系统、电子设备及存储介质

Also Published As

Publication number Publication date
CN100542139C (zh) 2009-09-16

Similar Documents

Publication Publication Date Title
CN100542139C (zh) 一种基于任务分组的资源分配方法和装置
CN102567086B (zh) 一种任务调度的方法、设备和系统
RU2293444C2 (ru) Способ диспетчеризации опроса устройств для считывания данных
US9390130B2 (en) Workload management in a parallel database system
CN101984414B (zh) Cpu资源的调度方法及装置
CN109976917A (zh) 一种负载调度方法、装置、负载调度器、存储介质及系统
CN102487494B (zh) 短信流量控制方法和系统
CN102223419A (zh) 面向网络化操作系统的虚拟资源动态反馈均衡分配机制
CN108681481A (zh) 业务请求的处理方法及装置
CN107295090A (zh) 一种资源调度的方法和装置
CN102195885A (zh) 报文处理方法及装置
CN102088781A (zh) 一种载波分配方法
CN101964752A (zh) 一种动态调节资源分配的宽带网络接入方法
CN109815008A (zh) Hadoop集群用户资源监控方法和系统
CN113312160A (zh) 用于任务分配系统中的行为配对的技术
CN109800261A (zh) 双数据库连接池的动态控制方法、装置及相关设备
CN103703830A (zh) 一种物理资源调整方法、装置及控制器
CN114745606A (zh) 基于规则调度的弹性伸缩工业数据采集系统及方法
CN109933433A (zh) 一种gpu资源调度系统及其调度方法
CN107203256A (zh) 一种网络功能虚拟化场景下的节能分配方法与装置
CN112148449A (zh) 一种局域网的基于边缘计算的调度算法及系统
CN101951571A (zh) 短消息重试方法及短消息网关
CN110750350A (zh) 一种大资源调度方法、系统、装置及可读存储介质
CN115550284A (zh) 消息处理方法、装置和设备
CN111683133B (zh) 一种基于微服务架构的业务限流方法及相关装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090916

Termination date: 20121231