一种面向企业内部跨域资源的动态调度方法及系统与流程

摘要: 本发明涉及资源优化调度,尤其是涉及一种面向企业内部跨域资源的动态调度方法及系统。背景技术:1、现有技术一为基于fifo(先进先出)队列的静态资源调度系统。该系统...
一种面向企业内部跨域资源的动态调度方法及系统与流程

本发明涉及资源优化调度,尤其是涉及一种面向企业内部跨域资源的动态调度方法及系统。

背景技术:

1、现有技术一为基于fifo(先进先出)队列的静态资源调度系统。该系统维护一个全局的任务等待队列,所有跨域资源请求按照提交时间先后顺序排入队列。调度器依次从队列头部取出任务,检查所需资源是否全部可用:若可用则分配资源并执行任务;若不可用则将该任务阻塞在队列头部,直到所需资源释放后才能继续调度后续任务。

2、具体而言,该方案的调度流程为:(1)接收任务请求,生成时间戳;(2)将任务按时间戳顺序插入等待队列;(3)从队列头部取出第一个任务,检查所有依赖资源是否可用;(4)若全部可用则分配资源并标记任务为执行中;(5)若存在不可用资源则等待,阻塞后续所有任务;(6)任务完成后释放资源,回到步骤(3)。

3、但是,现有技术一存在以下技术缺陷:

4、(1)队头阻塞导致系统吞吐量骤降。当队列头部的任务所需资源暂时不可用时,整个队列的所有后续任务均被阻塞,即使后续任务所需的资源已全部可用且紧急程度更高,也无法被调度执行。这种"一个任务阻塞全局"的现象在企业级跨域场景中尤为严重——跨域任务涉及的资源种类多、可用性波动大,队头阻塞概率显著高于单域场景。

5、(2)缺乏优先级感知能力。fifo机制仅以时间先后作为唯一调度依据,无法感知任务的紧急程度和业务价值。在自动驾驶研发等场景中,距离量产节点仅剩数天的高优验证任务,可能被先到先得的低优实验任务长期阻塞,导致关键里程碑延期。

6、(3)无死锁检测与预防机制。当多个跨域任务形成循环资源依赖(任务a持有资源r1并请求r2,任务b持有r2并请求r1)时,fifo系统无法自动检测并打破死锁,只能依赖人工发现和干预,恢复周期通常以小时计。

7、现有技术二为基于固定优先级的资源调度系统。该系统为每类任务预设一个固定的优先级标签(如p0/p1/p2/p3),调度器按照优先级从高到低的顺序扫描任务队列。同一优先级内仍采用fifo策略。当高优先级任务请求资源时,系统可以抢占低优先级任务已占用的资源——被抢占的任务挂起并重新排队等待。

8、具体而言,该方案的调度流程为:(1)接收任务请求,读取预设的优先级标签;(2)将任务插入对应优先级的子队列尾部;(3)调度器从最高优先级子队列开始扫描;(4)若高优先级队列非空,取出队首任务检查资源可用性;(5)若资源被低优先级任务占用,触发抢占,挂起低优先级任务并释放资源;(6)将资源分配给高优先级任务执行。

9、现有技术二虽然引入了优先级机制,但仍存在以下技术缺陷:

10、(1)优先级固化,缺乏动态自适应能力。任务的优先级标签在创建时静态设定,在整个生命周期中保持不变。然而在实际场景中,任务的紧急程度会随时间变化——例如距离截止日期越近,任务紧急度越高;而历史sla达成率也会随任务执行情况动态更新。固定优先级无法反映这种时变性,导致调度决策与实际业务需求脱节。

11、(2)抢占开销大,易引发"优先级反转"。当高优先级任务频繁抢占低优先级任务时,被抢占的任务可能反复挂起-恢复,造成大量上下文切换开销。更严重的是,当低优先级任务持有高优先级任务所需的关键资源时,系统不得不等待低优先级任务释放资源,形成事实上的优先级反转。

12、(3)故障恢复依赖人工干预,缺乏自动重编排能力。当某一资源节点发生突发故障(如服务器宕机、审批人员请假)时,现有系统多依赖人工发现故障、手动重新分配任务,或采用简单的超时重试机制。无法在毫秒级内自动计算替代路径并触发级联重编排,导致系统整体吞吐量骤降,恢复周期通常以分钟甚至小时计。

13、(4)缺乏全局视角的博弈协商能力。固定优先级调度器仅关注单个任务的优先级比较,缺乏对跨域资源依赖关系的全局建模能力。当多个高优任务并发请求跨部门资源时,无法从系统整体优化的角度进行资源协商与分配,极易导致关键资源被低价值任务长期占用,引发高优任务阻塞。

技术实现思路

1、鉴于以上现有技术的不足,本发明提供了一种面向企业内部跨域资源的动态调度方法及系统,不仅避免了“调度排序优先高优、但冲突解决随机选任务、故障恢复不考虑优先级”的逻辑矛盾,而且解决的是“多任务竞争同一最优替代节点”这一资源调度领域独有的技术问题。

2、为了实现上述目的及其他相关目的,本发明提供的技术方案如下:

3、一种面向企业内部跨域资源的动态调度方法,所述方法包括:

4、s1.任务多维特征向量化与动态打分机制,当系统接收到跨域资源请求时,从请求中提取多维状态变量,并通过加权评估模型计算动态优先级得分;

5、s2.基于状态机的跨域资源协商与分配,调度引擎根据计算得到的dps得分,对并发请求进行排序,并通过资源状态机完成跨域资源协商与分配;

6、s3.节点异常触发的自适应重编排算法,系统通过心跳机制实时监控各资源节点的健康状态,当检测到某一节点失效或响应超时时,立即触发自适应重编排流程。

7、进一步地,在步骤s1中,所述通过加权评估模型计算动态优先级得分包括:

8、s11.特征提取,系统从每个跨域资源请求中提取以下四个维度的特征变量,包括任务紧急度u(t)、跨域依赖放大因子ω(t)、业务战略价值v(t)、历史sla达成率s(t)和资源消耗预估量r(t);

9、s12.加权评估模型,系统通过以下加权公式计算动态优先级得分,

10、dps(t)=α(t)·(u(t)×ω(t))+β(t)·v(t)+γ(t)·s(t)+δ(t)·(1-r(t)),

11、其中,α(t)、β(t)、γ(t)、δ(t)为动态权重系数,满足α+β+γ+δ=1,各项取值均为[0, 1];

12、s13.动态更新机制,dps得分并非一次性计算,而是以固定周期动态刷新,每次刷新时,重新提取u(t)、s(t)、r(t),并重新计算dps,这确保了调度决策始终基于最新的任务状态。

13、进一步地,在步骤s11中,所述任务紧急度u(t)为,

14、u(t)=max(0,1-(tdeadline-tnow)/testimated),

15、其中,tdeadline为任务截止时间,tnow为当前时间,testimated为任务预估执行时长,当u(t)=0时表示任务时间充裕;当u(t)→1时表示任务即将超期,紧急度最高。

16、进一步地,在步骤s11中,所述跨域依赖放大因子ω(t)为,

17、ω(t)=1+κ·(ndomain-1),

18、其中,ndomain为任务所需跨域资源域的数量,κ为放大系数,默认0.15;

19、所述业务战略价值v(t)为反映任务对企业战略目标的贡献度,取值为[0, 1]区间的预设评分,由业务系统根据任务所属项目级别,量产级=0.9、预研级=0.5、实验级=0.2,自动标注,v(t)在任务生命周期内不随时间变化,但同一项目级别的不同任务可根据所属子模块的关键度做微调。

20、进一步地,在步骤s11中,所述历史sla达成率s(t)为反映该类任务历史按时完成率,取值为[0, 1],基础值s0(t)=nsuccess/ntotal,其中,nsuccess为历史按时完成次数,ntotal为历史总执行次数,新任务初始s0(t)=0.5;为避免历史数据过于陈旧导致偏差,引入时间衰减因子:s(t) =s0(t)·e(-μ·δt),其中,δt为最近一次sla记录距当前的时间差,μ为衰减系数,使近期sla记录权重高于远期记录;所述资源消耗预估量r(t)反映任务预估占用的资源规模,取值为归一化后的[0,1]值,r(t)=resourceestimate/resourcemax,其中,resourceestimate为任务预估资源消耗,resourcemax为系统总可用资源,r(t)越小表示任务越“轻量”,越容易被快速调度。

21、进一步地,所述动态权重系数α(t)、β(t)、γ(t)、δ(t)不采用离散的分档切换,而是基于系统负载率l(t)进行连续线性插值调节,具体规则如下:

22、定义基准负载率lref=65%,权重系数的计算公式为:

23、α(t)=αbase+kα·(l(t)-lref)/lref,

24、δ(t)=δbase-kδ·(l(t)-lref)/lref,

25、其中,αbase=0.3,δbase=0.2,为基准权重值;kα= 0.1, kδ=0.1为调节灵敏度系数;β(t)和γ(t)在高负载时分别从0.3和0.2微调至0.25和0.25;当 l(t) > lref时,α(t)增大、δ(t)减小,系统侧重紧急度和sla保障;当 l(t)< lref时,α(t)减小、δ(t)增大,系统侧重资源利用率,权重系数的连续性调节避免了离散分档切换时的突变抖动,保证调度决策的平滑过渡;为防止极端负载下的权重失衡,设定α(t)∈[0.15, 0.5], β(t)∈[0.2, 0.35], γ(t)∈[0.15, 0.35], δ(t)∈[0.05, 0.35]的边界约束。

26、进一步地,在步骤s2中,所述通过资源状态机完成跨域资源协商与分配包括:

27、s21.资源节点状态机建模,系统将各职能部门的资源池抽象为独立的状态节点;

28、s22.dps排序与资源协商,调度引擎将所有待处理的跨域资源请求按dps得分从高到低排序,形成优先级队列;

29、s23.资源依赖有向图构建与循环依赖检测,对于存在资源依赖的跨域任务,系统构建资源依赖有向图,rdg中的节点表示资源分配关系,有向边表示资源请求关系;

30、s24.dps驱动的降级策略,当检测到循环依赖时,系统自动触发以下降级策略,降级策略的选择顺序和执行对象均以dps得分为决策依据,而非随机选择或简单的时间先后排序。

31、进一步地,所述dps驱动的降级策略包括:

32、任务拆分,将持有循环依赖中大任务的节点拆分为多个子任务,释放部分被占用资源,打破循环依赖,拆分粒度由任务的可分段性决定,拆分时优先保留dps得分最高的子任务段继续执行,dps低的子任务段暂时挂起;

33、低dps任务挂起,在死锁环中,选取dps得分最低的任务,将其挂起并释放其持有的资源,被挂起的任务进入等待队列,待资源冲突解除后重新调度,以dps而非时间先后或随机方式决定牺牲对象,确保高价值任务始终被优先保障;

34、资源降级使用,若死锁环中存在degraded状态的备选节点,将dps得分最低的任务从occupied节点迁移至degraded节点,以性能降低为代价打破死锁。

35、进一步地,在步骤s3中,所述节点异常触发的自适应重编排算法包括:

36、s31.心跳监控机制,每个资源节点以固定周期向调度引擎发送心跳信号,心跳信号包含节点id、当前状态、负载率、可用容量,调度引擎维护一个心跳时间窗口,若连续3个周期未收到某节点的心跳,则判定该节点为failed状态,立即触发重编排;

37、s32.快照保留,当节点被判定为failed时,系统立即提取该节点上正在执行的所有任务的上下文状态向量;

38、s33.dps加权启发式搜索,系统基于改进的a*搜索算法,在剩余可用节点中计算替代执行路径,a*算法的评估函数定义为:

39、f(n)=g(n)+h(n),

40、其中,g(n)从起始节点到候选节点n的实际迁移成本,包括数据传输成本ctransfer(n)、状态重建成本crebuild(n)、资源切换成本cswitch,

41、g(n)=ctransfer(n)+crebuild(n)+cswitch;

42、h(n)为启发函数,估计从候选节点n到任务完成的剩余代价,定义为:

43、h(n)=tremaining(n)×(1/dps)×λload(n),

44、其中,tremaining(n)为候选节点上预估的剩余执行时间,dps为任务的动态优先级得分,λload(n)为候选节点的负载惩罚因子。

45、为了实现上述目的及其他相关目的,本发明还提供了一种面向企业内部跨域资源的动态调度系统,用于实现所述的面向企业内部跨域资源的动态调度方法,所述系统包括:

46、任务特征提取与打分模块,用于从请求中提取多维状态变量,并通过加权评估模型计算动态优先级得分;

47、状态机资源协商模块,与所述任务特征提取与打分模块连接,用于计算得到的dps得分,对并发请求进行排序,并通过资源状态机完成跨域资源协商与分配;

48、dps驱动的冲突降级模块,与所述状态机资源协商模块连接,用于以dps得分为决策依据,自动触发以下降级策略;

49、自适应重编排模块,与所述dps驱动的冲突降级模块连接,用于通过心跳机制实时监控各资源节点的健康状态。当检测到某一节点失效或响应超时时,立即触发自适应重编排流程。

50、本发明具有以下积极效果:

51、1.本发明的核心不是任何单一技术环节,而是dps得分具体贯穿四个环节:在特征提取环节计算产出→在资源协商环节驱动优先级队列排序→在冲突降级环节驱动"谁被牺牲"的降级决策→在a*故障恢复环节驱动"谁优先恢复"的搜索权重→恢复结果回流刷新dps。这种具体贯穿使各环节决策逻辑保持一致(高dps任务在排序、冲突、故障场景下均被优先保障),避免了“调度排序优先高优、但冲突解决随机选任务、故障恢复不考虑优先级”的逻辑矛盾。

52、2.本发明通过提取任务紧急度u(t)、业务战略价值v(t)、历史sla达成率s(t)、资源消耗预估量r(t)四个维度的特征变量,引入跨域依赖放大因子ω(t)和sla时间衰减因子,通过基于系统负载率l(t)连续线性插值调节的动态权重系数加权计算dps(t)。权重系数的连续调节(而非离散分档切换)避免了调度决策的突变抖动。

53、3.本发明将资源池抽象为具有五种状态(available、reserved、occupied、degraded、failed)的状态机节点,根据dps得分排序后进行资源协商。当检测到循环依赖时,降级策略的执行对象和顺序完全由dps得分驱动:选择dps最低的任务挂起或迁移至降级节点,保障dps最高的任务继续执行。