一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于工作流系统对资源进行加锁控制的方法及系统与流程

2023-01-15 08:47:28 来源:中国专利 TAG:

技术特征:
1.一种基于工作流系统对资源进行加锁控制的方法,其特征在于,所述方法包括:根据所获取的任务,确定工作流的数量和待加锁的资源的数量,定义任一工作流对任一待加锁资源的加锁份额为p_trn,n为自然数;根据所述任一待加锁资源的加锁份额和资源标识,判断当前的加锁份额是否<100%;如果所述任一待加锁资源当前的加锁份额<100%,按照当前的加锁份额对所述任一资源进行加锁,并更新加锁标识;如果所述任一待加锁资源当前的加锁份额≥100%,判定加锁份额不足,对所述任一资源进行重试加锁。2.根据权利要求1所述的一种基于工作流系统对资源进行加锁控制的方法,其特征在于,根据所述任一待加锁的份额和资源标识,判断当前的加锁份额是否<100%之前,所述方法还包括:根据工作流标识和资源标识查询数据库,判断资源锁记录是否已经存在于所述数据库中;如果资源锁记录已经存在于所述数据库中,判断所述资源锁记录中的加锁标志是否为true;如果资源锁记录中的加锁标志为true,判定当前工作流已经对当前资源加锁成功;如果资源锁记录中的加锁标志不为true,直接执行下一步:根据所述任一待加锁资源的加锁份额和资源标识,判断当前的加锁份额是否<100%;如果资源锁记录不存在于所述数据库中,生成并保存当前资源锁的数据记录。3.根据权利要求1所述的一种基于工作流系统对资源进行加锁控制的方法,其特征在于,判定加锁份额不足后,对所述任一资源进行重试加锁的方法,包括:定义设定的最长锁等待时间为max_wait_time,初始重试加锁间隔时间为p_time0,设定的最小重试加锁间隔时间为min_p_time;计算当前时间与首次加锁时间之间的时间差;根据所述时间差,利用公式p1_timen=max(min_p_tim,p_time0

p_time0*(diff_time/max_wait_time)),计算得出第一下一次重试加锁时间间隔,其中,p1_timen为第一下一次重试加锁时间间隔,diff_time为当前时间与首次加锁时间之间的时间差,max_wait_time为设定的最长锁等待时间,min_p_time为设定的最小重试加锁间隔时间;所述任一工作流根据所述第一下一次重试加锁时间间隔,对所述任一资源进行重试加锁;达到所述第一下一次重试加锁时间间隔后,返回重新计算当前时间与首次加锁时间之间的时间差,直到所述任一工作流对所述任一资源加锁完毕。4.根据权利要求3所述的一种基于工作流系统对资源进行加锁控制的方法,其特征在于,当多个工作流的首次加锁时间相同时,根据所获取的命令,指定任一工作流的优先级权重p_weight,其中,所述任一工作流的优先级权重p_weight满足:1≤p_weight≤10,p_weight为自然数,且p_weight越小优先级越高;根据所述优先级权重p_weight,利用公式p2_time=max(min_p_time,p_time0

p_time0*(diff_time/max_wait_time))-(10-p_weight),计算得出每个工作流的第二下一次重试加锁时间间隔;
多个工作流按照第二下一次重试加锁时间间隔从小到大的顺序,依次对所述任一资源进行重试加锁。5.根据权利要求3所述的一种基于工作流系统对资源进行加锁控制的方法,其特征在于,当多个工作流的第一下一次重试加锁时间间隔均大于设定的最长锁等待时间时,根据所获取的命令,指定任一工作流的优先级权重p_weight,其中,所述任一工作流的优先级权重p_weight满足:1≤p_weight≤10,p_weight为自然数,且p_weight越小优先级越高;根据所述优先级权重p_weight,利用公式p3_time=min_p_time-(10-p_weight),计算得出每个工作流的第三下一次重试加锁时间间隔;多个工作流按照第三下一次重试加锁时间间隔从小到大或者从大到小的顺序,依次对所述任一资源进行重试加锁。6.根据权利要求4或5所述的一种基于工作流系统对资源进行加锁控制的方法,其特征在于,当多个工作流的优先级权重相同时,按照任一工作流获取到cpu计算资源的先后顺序,依次对所述任一资源进行重试加锁。7.根据权利要求1-5中任一所述的一种基于工作流系统对资源进行加锁控制的方法,其特征在于,所述方法还包括:当任一工作流结束任务后,删除所述任一工作流对所述任一待加锁资源进行资源加锁的数据记录。8.一种基于工作流系统对资源进行加锁控制的系统,其特征在于,所述系统包括:工作流和待加锁资源数量确定模块,用于根据所获取的任务,确定工作流的数量和待加锁的资源的数量,定义任一工作流对任一待加锁资源的加锁份额为p_trn,n为自然数;第一判断模块,用于根据所述任一待加锁资源的加锁份额和资源标识,判断当前的加锁份额是否<100%;资源加锁模块,用于当所述任一待加锁资源当前的加锁份额<100%时,按照当前的加锁份额对所述任一资源进行加锁,并更新加锁标识;重试加锁模,用于当所述任一待加锁资源当前的加锁份额≥100%时,对所述任一资源进行重试加锁。9.根据权利要求8所述的一种基于工作流系统对资源进行加锁控制的系统,其特征在于,所述系统还包括:第二判断模块,用于根据工作流标识和资源标识查询数据库,判断资源锁记录是否已经存在于所述数据库中,如果资源锁记录已经存在于所述数据库中,启动第三判断模块,如果资源锁记录不存在于所述数据库中,启动数据记录生成模块;所述第三判断模块,用于当资源锁记录已经存在于所述数据库中时,判断所述资源锁记录中的加锁标志是否为true,如果资源锁记录中的加锁标志为true,判定当前工作流已经对当前资源加锁成功,否则,启动第一判断模块;所述数据记录生成模块,用于当资源锁记录不存在于所述数据库中时,生成并保存当前资源锁的数据记录。10.根据权利要求8或9所述的一种基于工作流系统对资源进行加锁控制的系统,其特征在于,所述系统还包括:删除模块,用于当任一工作流结束任务后,删除所述任一工作流对所述任一待加锁资
源进行资源加锁的数据记录。

技术总结
本申请公开了一种基于工作流系统对资源进行加锁控制的方法及系统,该方法包括:根据所获取的任务,确定工作流的数量和待加锁的资源的数量;根据所述任一待加锁资源的加锁份额和资源标识,判断当前的加锁份额是否<100%;如果所述任一待加锁资源当前的加锁份额<100%,按照当前的加锁份额对所述任一资源进行加锁,并更新加锁标识;如果所述任一待加锁资源当前的加锁份额≥100%,判定加锁份额不足,对所述任一资源进行重试加锁。该系统包括:工作流和待加锁资源数量确定模块、判断模块、资源加锁模块和重试加锁模块四部分。通过本申请,能够提高资源利用率和资源控制效率。能够提高资源利用率和资源控制效率。能够提高资源利用率和资源控制效率。


技术研发人员:左兰海 闫冬冬 刘一
受保护的技术使用者:济南浪潮数据技术有限公司
技术研发日:2022.10.21
技术公布日:2023/1/13
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献