一种多来源停止请求处理方法、装置、设备和介质与流程
本技术涉及裸金属资源领域,特别是涉及一种多来源停止请求处理方法、装置、设备和介质。
背景技术:
1、在云游戏、边缘算力桌面、pxe裸金属调度、远程串流交付以及资源巡检补偿场景中,同一目标资源对象的停止动作往往并非只来自单一入口,而可能同时来自巡检任务、外部主动释放请求、盒子重启事件、主机关机事件、异常补偿流程或人工停止操作等多个来源。不同来源的停止请求在触发时机、业务紧急程度、执行依据和后续回收动作上通常存在差异,但其最终都指向同一目标资源对象的停止与回收。
2、常见实现方式是在接收到停止请求后,立即对目标资源执行回收流程,或仅通过简单锁控避免完全并发执行。然而,在多来源停止请求同时到达时多个停止请求同时推进同一目标资源的回收流程,导致重复释放、重复远程调用或重复状态写回,使得重复执行回收流程,不仅影响系统稳定性,还容易出现不一致的情况。因此,如何解决上述技术问题是本领域亟待解决的技术问题。
技术实现思路
1、本技术目的是提供一种多来源停止请求处理方法、装置、设备和介质,能够避免同一目标资源对象被重复执行回收流程,显著提升了多来源停止场景下资源回收过程的一致性和可靠性。
2、第一方面,本发明实施例提供了一种多来源停止请求处理方法,包括:
3、接收针对同一目标资源对象的多个停止请求,所述多个停止请求分别来源于至少两类停止来源;
4、确定所述多个停止请求分别对应的仲裁属性;
5、建立与所述目标资源对象关联的唯一执行上下文;并在成功获取所述目标资源对象关联的仲裁锁后,基于仲裁属性从所述多个停止请求中确定胜出停止请求;
6、将所述胜出停止请求与所述唯一执行上下文进行绑定;执行与所述胜出停止请求相对应的针对所述目标资源对象的资源回收流程;
7、在所述资源回收流程执行过程中或结束后,对其他停止请求执行幂等归并处理,使所述其他停止请求能够复用所述唯一执行上下文的执行结果。
8、在一种可能的实现方式中,建立与所述目标资源对象关联的唯一执行上下文之前,还包括:
9、检测是否已存在与所述目标资源对象绑定的唯一执行上下文;
10、若检测结果为已存在,则直接将所述多个停止请求关联至已有的唯一执行上下文,标记为待归并状态;
11、若检测结果为不存在,则执行建立与所述目标资源对象关联的唯一执行上下文的步骤。
12、在一种可能的实现方式中,确定所述多个停止请求分别对应的仲裁属性,包括:
13、对每一个接收到的停止请求进行参数校验,提取请求中的目标资源标识、请求来源字段与请求时间戳,并封装为统一仲裁对象;
14、根据统一仲裁对象的请求来源,为每一个停止请求生成对应的来源级别;为每一个停止请求生成对应的幂等标识,并将目标资源标识、请求来源、请求时间戳、来源级别与幂等标识作为每一个统一仲裁对象的仲裁属性。
15、在一种可能的实现方式中,基于仲裁属性从所述多个停止请求中确定胜出停止请求,包括:
16、遍历当前所有生成的统一仲裁对象,提取每一个统一仲裁对象中的来源级别;
17、对每一个仲裁对象中的来源级别进行排序,筛选出来源级别数值最高的所有候选仲裁对象;
18、若筛选得到的候选仲裁对象数量为1,则将候选仲裁对象对应的停止请求判定为胜出停止请求;
19、若筛选得到的候选仲裁对象数量大于1,则将时间戳最早的候选仲裁对象对应的停止请求判定为胜出停止请求。
20、在一种可能的实现方式中,将所述胜出停止请求与所述唯一执行上下文进行绑定,包括:将所述胜出停止请求的幂等标识写入所述唯一执行上下文的主执行字段,完成绑定操作;将其他停止请求与所述唯一执行上下文建立关联,包括:将其他停止请求的幂等标识,统一存入唯一执行上下文内部的归并集合中,完成全量请求的关联绑定。
21、在一种可能的实现方式中,执行与所述胜出停止请求相对应的针对所述目标资源对象的资源回收流程的过程中,上述方法还包括:在资源回收流程启动时,向唯一执行上下文写入胜出请求确定事件,记录当前回收操作的启动时刻;在资源回收流程的每一个关键节点执行完成后,向唯一执行上下文写入对应节点的执行事件,同步更新唯一执行上下文的实时状态;若资源回收流程执行过程中出现异常中断,则立即触发异常补偿事件,向唯一执行上下文写入异常类型与断点位置,启动预设的重试回滚机制。
22、在一种可能的实现方式中,在所述资源回收流程执行过程中或结束后,对其他停止请求执行幂等归并处理,使所述其他停止请求能够复用所述唯一执行上下文的执行结果,包括:确定其他停止请求的停止请求分类,停止请求分类包括归并请求、结果复用请求和延后执行请求中的任一种;根据所述停止请求分类执行相应的幂等归并处理。
23、第二方面,提供了一种多来源停止请求处理装置,包括:
24、接收模块,用于接收针对同一目标资源对象的多个停止请求,所述多个停止请求分别来源于至少两类停止来源;
25、第一确定模块,用于确定所述多个停止请求分别对应的仲裁属性;
26、第二确定模块,用于建立与所述目标资源对象关联的唯一执行上下文;并在成功获取所述目标资源对象关联的仲裁锁后,基于仲裁属性从所述多个停止请求中确定胜出停止请求;
27、回收模块,用于将所述胜出停止请求与所述唯一执行上下文进行绑定;执行与所述胜出停止请求相对应的针对所述目标资源对象的资源回收流程;
28、幂等归并模块,用于在所述资源回收流程执行过程中或结束后,对其他停止请求执行幂等归并处理,使所述其他停止请求能够复用所述唯一执行上下文的执行结果。
29、第三方面,提供了一种电子设备,所述电子设备包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器在运行所述计算机程序时执行第一方面任一项所述的方法。
30、第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条程序代码,所述程序代码由处理器加载并执行以实现如第一方面任一所述的方法。
31、第五方面,提供了一种计算机程序产品,包括计算机程序或指令,所述计算机程序或指令被处理器执行时实现如第一方面任一所述的方法。
32、综上所述,本技术提供的多来源停止请求处理方法包括以下有益技术效果:接收来自至少两类来源的、针对同一目标资源对象的多个停止请求;确定多个停止请求分别对应的仲裁属性。此时,并非立即依次执行每个停止请求的回收操作,而是建立与该目标资源对象关联的唯一执行上下文并获取仲裁锁;依赖仲裁属性进行综合判定,从众多请求中筛选出胜出停止请求,并将其绑定至该唯一执行上下文。在由该胜出请求驱动的资源回收流程执行过程中或结束后,对其他所有未胜出的请求执行幂等归并处理,使其能够直接复用该上下文的最终执行结果,避免了同一目标资源对象被重复执行回收流程,显著提升了多来源停止场景下资源回收过程的一致性和可靠性。
33、此外,本技术还提供了一种多来源停止请求处理装置、设备和介质,均具有上述有益技术效果。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com