CN103473137B - 避免死锁的资源分配方法及系统 - Google Patents
避免死锁的资源分配方法及系统 Download PDFInfo
- Publication number
- CN103473137B CN103473137B CN201310422363.XA CN201310422363A CN103473137B CN 103473137 B CN103473137 B CN 103473137B CN 201310422363 A CN201310422363 A CN 201310422363A CN 103473137 B CN103473137 B CN 103473137B
- Authority
- CN
- China
- Prior art keywords
- resource
- difference
- resource allocation
- amount
- current
- 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.)
- Active
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种避免死锁的资源分配方法及系统,其中的方法包括:按照进程对资源的需求量从小到大对进程进行排序;通过数学建模的方式获取每个进程在释放掉前面所有进程的资源占有量之后,当前剩余的可分配资源量与当前进程的需求量之间的差值;对申请资源的进程中的许可进程进行资源分配;其中,在每一个差值均为非负的情况下,许可进程所申请的资源量不大于差值中的最小值,否则,不对申请资源的进程进行资源分配。通过本发明能够在多个并发进程中实现对资源分配的合理性,在避免出现死锁的同时,实时响应用户的资源申请,达到高效的分配资源的目的。
Description
技术领域
本发明涉及计算机系统技术领域,更为具体地,涉及一种避免死锁的资源分配方法及系统。
背景技术
在计算机系统的使用中,经常出现多个并发进程抢占同一资源的现象。如果进行占用资源的顺序不合理,则有可能出现死锁。为了避免死锁的出现,程序设计者有必要保证各个进程对资源的占用处于一种“安全状态”。安全状态是指系统能按某种顺序,例如按照P1,P2,....Pn这样一个安全序列,为每个进程分配其所需资源,直到最大需求,使每个进程都可顺序完成。若系统不存在一个安全序列,则系统处于不安全状态。
避免死锁所处理的问题就是如何保证在每次分配资源之后,整个系统都能处于安全状态。经典的解决方案是所谓的“银行家算法”,此算法对于每次的资源申请都去做一次模拟运算,即所谓的“安全性检查”,看是否在资源分配后每个进程都能顺利完成。如果可以则接受请求,分配资源;否则拒绝请求。假设在进程数N固定,单一资源的情形下,银行家算法的运行原理主要分为以下4步:
步骤1:正确性判断。如果资源请求量大于现存的剩余资源总量,则直接拒绝分配。
步骤2:假设资源y是可分配的,确定分配后的进程序列。
步骤3:对分配后的进程序列做安全性检查,确保N个进程中的每一个都可以拥有足够的资源顺利完成;
步骤4:将没有通过安全性检查的进程序列恢复至分配前的状态。
作为银行家算法的一个实施例,图1示出了传统的银行家算法的流程。
如图1所示,设x表示现有资源剩余量,共有N个进程,r[i]与a[i]分别表示第i个进程的资源需求量与资源占有量,且r[i]<r[i+1],即各进程按资源需求量从小到大有序排列,bank(i,y)表示为资源需求量第i小的进程分配y个单位的资源,分配成功返回1,拒绝分配返回-1。具体地流程如下所示:
S101:输入进程排序号i与资源申请量y;
S102:判断资源申请量y是否大于剩余总资源量x(即y>x),如果是,进入S103,否则进入S104;
S103:申请失败,return-1;
S104:记录分配后的变量值,即r_j=r[i]-y,a_j=a[i]+y,j=i。
S105:判断j>1且r_j<r[j-1],如果是,进入S106,否则进入S107。
S106:变更进程序列排名,即r[j]=r[j-1],a[j]=a[j-1],--j,然后返回S105重新进行判断。
S107:确定排序为i的进程下降至第j位,即r[j]=r_j,a[j]=a_j。
S108:对分配后的进程序列做安全性检查,即x-=y,s=x。
S109:循环计算第k个进程所获取的资源量,即s+=a[k],++k。
S110:判断系数变量k是否小于等于进程总数N,即k<=N,如果是,进入S111,否则进入S112。
S111:判断r[k]>s,如果是,返回S109,否则进入S112。
S112:判断k>N,如果是,进入S113,否则进入S114。
S113:申请成功,返回return1。
S114:恢复变量至原状态,即x+=y,r_j=r[j],a_j=a[j],k=j。
S115:判断k<i,如果是,进入S116,否则,进入S117。
S116:恢复进程排序r[j]=r[j+1];a[j]=a[j+1],++k,返回S115。
S117:r[i]=r_j+y,a[i]=a_j-y。
S118:申请失败,return-1。
从银行家算法的运行原理,再结合图1所示的流程可以看出,银行家算法在理论上是出色的,但在算法性能上却存在着本质的不足。对于每一次资源申请其都要做一整套的流程判断才能最终得到结论,这一点阻碍了其应用。通过分析可以大致计算出,算法运行一次的运算量在接受申请时约为3(i-j)+N步,拒绝申请时约为5(i-j)+N步。在具体的工程中,实时用户往往要求有更好的响应速度,这一点该算法无法满足用户的需求。
发明内容
鉴于上述问题,本发明的目的是提供一种避免死锁的资源分配方法及系统,以在多个并发进程中实现对资源分配的合理性及实时性。
根据本发明的一个方面,提供一种避免死锁的资源分配方法,包括:
按照进程对资源的需求量从小到大对进程进行排序;
通过数学建模的方式获取每个进程在释放掉前面所有进程的资源占有量之后,当前剩余的可分配资源量与当前进程的需求量之间的差值;
对申请资源的进程中的许可进程进行资源分配;其中,在每一个差值均为非负的情况下,许可进程所申请的资源量不大于差值中的最小值,否则,不对申请资源的进程进行资源分配。
其中,该差值通过如下公式计算得出:
其中,ck为当前剩余的可分配资源量与当前进程的需求量之间的差值,x为当前剩余的可分配资源量,am为第m个进程的资源占有量,rk为第k个进程的资源需求量。
另一方面,本发明还提供一种避免死锁的资源分配系统,包括:
排序单元,用于按照进程对资源的需求量从小到大对进程进行排序;
差值获取单元,用于通过数学建模的方式获取每个进程在释放掉前面所有进程的资源占有量之后,当前剩余的可分配资源量与当前进程的需求量之间的差值;
资源分配单元,用于对申请资源的进程中的许可进程进行资源分配;其中,在每一个差值均为非负的情况下,许可进程所申请的资源量不大于差值中的最小值,否则,不对申请资源的进程进行资源分配。
利用上述根据本发明的避免死锁的资源分配方法及系统,能够在多个并发进程中实现对资源分配的合理性,在避免出现死锁的同时,实时响应用户的资源申请,达到高效的分配资源的目的。
为了实现上述以及相关目的,本发明的一个或多个方面包括后面将详细说明并在权利要求中特别指出的特征。下面的说明以及附图详细说明了本发明的某些示例性方面。然而,这些方面指示的仅仅是可使用本发明的原理的各种方式中的一些方式。此外,本发明旨在包括所有这些方面以及它们的等同物。
附图说明
通过参考以下结合附图的说明及权利要求书的内容,并且随着对本发明的更全面理解,本发明的其它目的及结果将更加明白及易于理解。在附图中:
图1为传统的银行家算法的流程示意图;
图2为根据本发明实施例的避免死锁的资源分配方法流程示意图;
图3为根据本发明实施例的避免死锁的资源分配方法的运行流程示意图;
图4为根据本发明实施例的相关实验结果示意图;
图5为根据本发明实施例的避免死锁的资源分配系统的逻辑结构框图。
在所有附图中相同的标号指示相似或相应的特征或功能。
具体实施方式
以下将结合附图对本发明的具体实施例进行详细描述。
针对前述现有的银行家算法存在不能快速响应实时用户的需求的问题,本发明在对多个并行进程进行资源分配时,通过数学建模的方式挖掘出多进程资源分配处于安全状态的充要条件,能够在避免死锁的情况下,对申请资源的进程进行实时高效的资源分配。
为了详细说明本发明提供的避免死锁的资源分配方法,图2示出了根据本发明实施例的避免死锁的资源分配方法流程。
如图2所示,本发明提供的避免死锁的资源分配方法包括:
S210:按照进程对资源的需求量从小到大对进程进行排序。
S220:通过数学建模的方式获取每个进程在释放掉前面所有进程的资源占有量之后,当前剩余的可分配资源量与当前进程的需求量之间的差值。
其中,该差值通过如下公式计算得出:
其中,ck为当前剩余的可分配资源量与当前进程的需求量之间的差值,x为当前剩余的可分配资源量,am为第m个进程的资源占有量,rk为第k个进程的资源需求量。
S230:对申请资源的进程中的许可进程进行资源分配;其中,在每一个差值均为非负的情况下,许可进程所申请的资源量不大于差值中的最小值,否则,不对申请资源的进程进行资源分配。
需要说明的是,本发明中所提及的许可进程是指被许可进行资源分配的进程。当在对申请资源的进程进行资源分配时,申请资源的进程需处于安全状态,并且在本次进程所申请的资源量不大于差值中的最小值时,该进程才被许可进行资源分配。其中,申请资源的进程需处于安全状态即指每一个差值均为非负,如果差值中有一个为负,则说明即使把所有的现有资源及可释放资源分配给该进程,其仍然无法完成任务,还会导致死锁。因此,对于所申请的资源量大于差值中的最小值,且当前申请资源的进程的排序不为1的情况,则不对申请资源的进程进行任何资源分配。
也就是说,不对申请资源的进程进行任何资源分配是有条件的。即当申请资源的进程所申请的资源量大于差值中的最小值,且当前申请资源的进程不是资源需求量最小的进程时,不对申请资源的进程进行资源分配。如果当前系统处于安全状态(即所有的差值均为非负),且申请资源的进程排序为1(即资源需求量最小的进程),那么无论差值为多少,都可以对该进程进行资源分配,因为系统处于安全状态就保证了对最小资源需求者进行资源分配的可行性。这也是在下述的避免死锁的资源分配方法的运行流程中判断i!=1的原因。
因此,对于步骤S230,还有另外一种表述,即对申请资源的进程中的许可进程进行资源分配;其中,在每一个差值均为非负的情况下,许可进程所申请的资源量不大于差值中的最小值,否则,不对除资源需求量最小的进程之外的申请进程进行资源分配。
具体地,如果每一个差值均为非负,则确定差值中的最小值;当一个进程在申请资源时,如果该进程所申请的资源量不大于差值中的最小值,则许可该申请资源的进程进行资源分配。为了增强用户界面的友好性,当可以对申请资源的进程进行资源分配时,可以先向该许可进程返回申请成功的信息。
其中,在对申请资源的进程的许可进程进行资源分配之后,重新确定资源分配后的进程序列;重新确定当前剩余的可分配资源量与当前进程的需求量之间的差值中的最小值。也就是说,当在完成一次资源分配之后,需要确定新一轮的差值中的最小值。
需要说明的是,通过数学建模的方式计算出的差值为判断进程是否处于安全状态的依据,如果计算出的差值为非负,那么该进程一定处于安全状态;如果计算出的差值中,有一个差值为负,即意味着即使把所有现有资源及可释放资源分配给该进程,其仍然无法完成任务,即形成死锁。也就是说,计算出的所有的差值均为非负值为判断进程处于安全状态的充要条件。
具体地,假设N个进程共享同一资源,并以ri,ai分别表示第i个进程的资源需求量与资源占有量,N个进程满足r1≤r2≤......≤rN。若以x表示当前资源剩余总量,则这些进程处于安全状态首先意味着r1≤x。否则,这x个资源将无法分配给任何一个进程而使其完成任务。进一步,排序号为2的进程需满足r2≤a1+x。以此类推,最后一个进程满足rn≤a1+a2+......+an-1+x。因此,不难得出如下结论:记则这N个进程处于安全状态的充要条件为ck≥0,k=1,2,...,N。
为了衡量处于安全状态的各个进程在进行一次资源分配之后是否仍然处于安全状态,只需要分析分配后的各个ck如何变化。在一次资源分配后,根据上述各个变量用原有相关字母添加上角标进行标记(如r′k表示资源分配后,需求第k小的进程所对应的资源需求量),可以做出如下分析:
假设这次分配是将x个单位资源中的y个分配给了排序为i的进程,那么该进程的排序可能会由于这个分配而有所下降,不妨设其下降到第j个排序。如果j<i,则分配后的进程关系如下:
r1≤r2≤......≤rj-1≤ri-y≤rj≤......≤ri-1≤ri+1≤......≤rN
那么,变化后的前后变量应该有如下对应关系:
因此,当1≤k<j时
当k=j时,
当j<k≤i时
当i<k≤N时
对于j=i的情况,同样可以做出类似分析,得到相应的表达式,即:当1≤k<i时,c'k=ck-y;当i≤k≤N时,c'k=ck。
总之,不论何种情况,由于在资源分配前,各个进程的安全状态保证了ck的非负性,那么根据上述c'k的各个表达式,只需保证ck-y也是非负的,即可保证c'k的非负性,也就保证了分配后的各个进程仍然处于安全状态。因此,我们得到如下结论:
对于一组处于安全状态的N个进程,只需保证资源分配量y满足或者保证将资源分配给需求最少的进程(此时有c'k=ck),即可确保分配后的各个进程仍然处于安全状态。
因此,对于一次资源分配请求,首先利用c[c_min_index]判断是否符合安全性条件,并实时发送判定结果,其中c_min_index表示c[k]中最小值的角标。也就是说,在判定出计算出的差值中的最小值符合安全性条件的前提下,如果资源申请量y小于或者等于确定出的本轮差值中的最小值,则资源申请成功,并对申请资源的进程进行资源分配,如果分配可行,则根据前述公式变更各变量(a[k],r[k],c[k])的值,最后确定新一轮的c_min_index值。
通过图1所示的流程可以看出,本发明提供的避免死锁的资源分配方法通过对多个并行进程进行资源分配处于安全状态的充要条件的确定,利用计算出的差值确定当前资源分配的可行性,能够在避免死锁的情况下,对申请资源的进程进行实时高效的资源分配。
为了更为详细说明本发明提供的避免死锁的资源分配方法,图3示出了根据本发明实施例的避免死锁的资源分配方法的运行流程。如图3所示:
S301:输入进程排序号i与资源申请量y;
S302:判断资源申请量y是否大于计算出的差值中的最小值且当前的进程排序号是否是第1个进程,即判断y>c[c_min_index]且i!=1,如果判定为是,则进入步骤S303,否则进入步骤S304。
S303:返回申请失败信息,即返回Message_send(-1),return(-1)。
S304:返回申请成功信息,即返回Message_send(1)。
S305:变更各变量信息,即r_j=r[i]-y,a_i=a[i],x-=y,j=i。
S306:判断j>1且r_j<r[j-1],如果是,进入S307,否则进入S308。
S307:更新是j<k<=i区间的变量值,即r[j]=r[j-1],a[j]=a[j-1],c[j]=c[j-1]+a[i],--j,然后返回S306继续进行判断。
S308:更新k=j时的变量值,即r[j]=r_j,a[j]=a_i+y,if(j<i),c[j]+=r[j+1]-(r_j+y),k=j-1。
S309:判断k是否大于0,如果是,进入S310,否则进入S311。
S310:更新k<j时的变量值,c[k--]-=y。
S311:确定新一轮的c_min_index值。
S312:成功返回,即return1。
通过图3的运行流程可以看出,本发明提供的避免死锁的资源分配方法可以实时反馈申请结果,使申请进程无需等待;对于计算步数,由于在k>i的情况下各变量无需变更,在接受申请时主要变量的变更步数仅约为4i-3j,而在拒绝申请时,则无需额外进行计算,因此,本发明能够在避免死锁的同时,达到更高效的分配资源的目的。
为了更直观的展现本发明提供的避免死锁的资源分配方法的高效性,现设计实验如下:假设N个进程共同使用S个单位的同类资源,完成每个进程所需要的资源量为R,各个进程按进程号顺序依次进行申请,每次申请Y个单位的资源。通过对本发明提供的避免死锁的资源分配方法与传统的银行家算法的运行结果的对比,展现本发明提供的避免死锁的资源分配方法的高效性。其中,为更好的反应计算代价,实验中本发明提供的避免死锁的资源分配方法在申请成功的情况下未作实时性返回,即没有信息返回(Message_send)这一动作,而是在处理完c[k]的变化后,直接返回结果,直至所有的进程执行完毕。实验1在资源足够多(S=1000000),申请一直成功的条件下进行;而实验2则在资源严重不足(S=100),申请经常失败的条件下进行。通过对算法运行时间(以毫秒ms为单位)的统计,来表现其性能。
其中,图4示出了根据本发明实施例的相关实验结果。通过图4所示的实验结果可以看出,在不同情况下,本发明提供的避免死锁的资源分配方法的耗时均远小于传统的银行家算法。
与上述方法相对应,本发明还提供一种避免死锁的资源分配系统。图5示出了根据本发明实施例的避免死锁的资源分配系统的逻辑结构。
如图5所示,本发明提供的避免死锁的资源分配系统500包括排序单元510、差值获取单元520和资源分配单元530。
其中,排序单元510用于按照进程对资源的需求量从小到大对进程进行排序;差值获取单元520用于通过数学建模的方式获取每个进程在释放掉前面所有进程的资源占有量之后,当前剩余的可分配资源量与当前进程的需求量之间的差值;资源分配单元530用于对申请资源的进程中的许可进程进行资源分配;其中,在每一个差值均为非负的情况下,许可进程所申请的资源量不大于差值中的最小值,否则不对申请资源的进程进行资源分配。
其中,资源分配单元530进一步包括进程序列确定单元和最小值确定单元(图中均未示出),其中,进程序列确定单元用于在对申请资源的进程的许可进程进行资源分配之后,重新确定资源分配后的进程序列;最小值确定单元用于在对申请资源的进程的许可进程进行资源分配之后,重新确定当前剩余的可分配资源量与当前进程的需求量之间的差值中的最小值。
本发明提供的避免死锁的资源分配方法及系统,通过数学建模的方式挖掘出在对多个进程资源进行分配时处于安全状态的充要条件,能够在多个并发进程中实现对资源分配的合理性,避免死锁的同时,还能对申请资源的进程进行实时高效的资源分配。
如上参照附图以示例的方式描述了根据本发明的避免死锁的资源分配方法及系统。但是,本领域技术人员应当理解,对于上述本发明所提出的避免死锁的资源分配方法及系统,还可以在不脱离本发明内容的基础上做出各种改进。因此,本发明的保护范围应当由所附的权利要求书的内容确定。
Claims (2)
1.一种避免死锁的资源分配方法,包括:
按照进程对资源的需求量从小到大对所述进程进行排序;
通过数学建模的方式获取每个进程在释放掉前面所有进程的资源占有量之后,当前剩余的可分配资源量与当前进程的需求量之间的差值;
对申请资源的进程中的许可进程进行资源分配;其中,在每一个所述差值均为非负的情况下,所述许可进程所申请的资源量不大于所述差值中的最小值,否则,不对除资源需求量最小的进程之外的申请资源的进程进行资源分配;以及,
在完成一次资源分配之后,重新确定资源分配后的进程序列,以及重新确定当前剩余的可分配资源量与当前进程的需求量之间的差值中的最小值;
其中,所述差值通过如下公式计算得出:
其中,ck为当前剩余的可分配资源量与当前进程的需求量之间的差值,x为当前剩余的可分配资源量,am为第m个进程的资源占有量,其中,a0=0,rk为第k个进程的资源需求量。
2.一种避免死锁的资源分配系统,包括:
排序单元,用于按照进程对资源的需求量从小到大对所述进程进行排序;
差值获取单元,用于通过数学建模的方式获取每个进程在释放掉前面所有进程的资源占有量之后,当前剩余的可分配资源量与当前进程的需求量之间的差值;
资源分配单元,用于对申请资源的进程中的许可进程进行资源分配;其中,在每一个所述差值均为非负的情况下,所述许可进程所申请的资源量不大于所述差值中的最小值,否则,不对除资源需求量最小的进程之外的申请资源的进程进行资源分配;其中,
所述资源分配单元进一步包括:进程序列确定单元,用于在完成一次资源分配之后,重新确定资源分配后的进程序列;
最小值确定单元,用于在完成一次资源分配之后,重新确定当前剩余的可分配资源量与当前进程的需求量之间的差值中的最小值;
其中,所述差值通过如下公式计算得出:
其中,ck为当前剩余的可分配资源量与当前进程的需求量之间的差值,x为当前剩余的可分配资源量,am为第m个进程的资源占有量,其中,a0=0,rk为第k个进程的资源需求量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310422363.XA CN103473137B (zh) | 2013-09-16 | 2013-09-16 | 避免死锁的资源分配方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310422363.XA CN103473137B (zh) | 2013-09-16 | 2013-09-16 | 避免死锁的资源分配方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103473137A CN103473137A (zh) | 2013-12-25 |
CN103473137B true CN103473137B (zh) | 2017-04-12 |
Family
ID=49798005
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310422363.XA Active CN103473137B (zh) | 2013-09-16 | 2013-09-16 | 避免死锁的资源分配方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103473137B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104462195A (zh) * | 2014-10-30 | 2015-03-25 | 中国南方电网有限责任公司电网技术研究中心 | 一种防止网络爬虫死锁的资源配置方法 |
CN104346658B (zh) * | 2014-11-19 | 2018-05-04 | 广东电网有限责任公司电力科学研究院 | 基于改进银行家算法的自动小车存取系统动态调度方法 |
CN106528287B (zh) * | 2015-09-09 | 2019-10-29 | 阿里巴巴集团控股有限公司 | 计算机系统资源分配方法和装置 |
CN105740079A (zh) * | 2016-01-27 | 2016-07-06 | 浪潮(北京)电子信息产业有限公司 | 一种死锁处理方法与系统 |
CN108073454A (zh) * | 2016-11-15 | 2018-05-25 | 阿里巴巴集团控股有限公司 | 资源划拨方法及系统、前端设备和后端设备 |
CN106681809A (zh) * | 2016-12-05 | 2017-05-17 | 上海斐讯数据通信技术有限公司 | 一种基于锁的线程管理方法及装置 |
CN106598737A (zh) * | 2016-12-13 | 2017-04-26 | 腾讯科技(深圳)有限公司 | 一种实现硬件资源分配的方法及装置 |
CN109815021B (zh) * | 2018-12-18 | 2021-03-23 | 深圳先进技术研究院 | 针对递归树建模程序的资源关键树方法及系统 |
CN112600906B (zh) * | 2020-12-09 | 2022-04-26 | 中国科学院深圳先进技术研究院 | 在线场景的资源分配方法、装置及电子设备 |
CN112463397B (zh) * | 2020-12-10 | 2023-02-10 | 中国科学院深圳先进技术研究院 | lock-free的分布式死锁避免方法及装置、计算机设备及可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1917504A (zh) * | 2005-08-20 | 2007-02-21 | 中兴通讯股份有限公司 | 一种避免资源数据共享访问导致死锁的加锁方法 |
US8060878B2 (en) * | 2007-11-27 | 2011-11-15 | International Business Machines Corporation | Prevention of deadlock in a distributed computing environment |
CN202134000U (zh) * | 2011-06-13 | 2012-02-01 | 深圳市安之天信息技术有限公司 | 动态调节系统资源分配的装置 |
CN102629220A (zh) * | 2012-03-08 | 2012-08-08 | 北京神州数码思特奇信息技术股份有限公司 | 一种动态任务分配管理方法 |
CN103049328A (zh) * | 2012-11-06 | 2013-04-17 | 苏州懿源宏达知识产权代理有限公司 | 计算机系统中内存资源分配方法 |
-
2013
- 2013-09-16 CN CN201310422363.XA patent/CN103473137B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1917504A (zh) * | 2005-08-20 | 2007-02-21 | 中兴通讯股份有限公司 | 一种避免资源数据共享访问导致死锁的加锁方法 |
US8060878B2 (en) * | 2007-11-27 | 2011-11-15 | International Business Machines Corporation | Prevention of deadlock in a distributed computing environment |
CN202134000U (zh) * | 2011-06-13 | 2012-02-01 | 深圳市安之天信息技术有限公司 | 动态调节系统资源分配的装置 |
CN102629220A (zh) * | 2012-03-08 | 2012-08-08 | 北京神州数码思特奇信息技术股份有限公司 | 一种动态任务分配管理方法 |
CN103049328A (zh) * | 2012-11-06 | 2013-04-17 | 苏州懿源宏达知识产权代理有限公司 | 计算机系统中内存资源分配方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103473137A (zh) | 2013-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103473137B (zh) | 避免死锁的资源分配方法及系统 | |
Dao et al. | Selective maintenance for multi-state series–parallel systems under economic dependence | |
CN107292741B (zh) | 一种资源分配方法和装置 | |
Sharma et al. | Performance analysis of dispatching rules in a stochastic dynamic job shop manufacturing system with sequence-dependent setup times: Simulation approach | |
Tavakkoli-Moghaddam et al. | A hybrid method for solving stochastic job shop scheduling problems | |
CN107093046A (zh) | 无人配送车任务分配方法、系统和无人配送车 | |
US20090287526A1 (en) | Dynamic work allocation system for transaction processing | |
Özcan | Balancing stochastic parallel assembly lines | |
CN105068874A (zh) | 一种结合Docker技术的资源按需动态分配方法 | |
CN101836190B (zh) | 用于将多个作业分配给多个计算机的方法和系统 | |
CN109284895A (zh) | 项目任务分配方法、装置、计算机设备及存储介质 | |
CN111984426B (zh) | 任务调度方法、装置、电子设备及存储介质 | |
Tharmmaphornphilas et al. | A methodology to create robust job rotation schedules | |
CN104166903A (zh) | 基于工序划分的任务规划方法及系统 | |
Elçi et al. | Stochastic planning and scheduling with logic-based Benders decomposition | |
CN106934539A (zh) | 一种带有期限和费用约束的工作流调度方法 | |
CN110196773B (zh) | 统一调度计算资源的多时间尺度安全校核系统及方法 | |
CN105718318B (zh) | 一种基于辅助工程设计软件的集合式调度优化方法 | |
CN110991846A (zh) | 服务人员任务分配方法、装置、设备及存储介质 | |
CN106530059A (zh) | 订单处理方法及系统 | |
CN104915250B (zh) | 一种实现作业内的MapReduce数据本地化的方法 | |
CN111949411A (zh) | 资源分配方法、装置、计算机设备及计算机可读存储介质 | |
DE102017206808A1 (de) | Verfahren und Vorrichtung zur Zuweisung von Rechenaufgaben | |
WO2020062047A1 (zh) | 更新调度规则的方法、设备、系统、存储介质和终端 | |
Gurel et al. | Scheduling parallel CNC machines with time/cost trade-off considerations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |