[发明专利]一种基于中断重入机制的协程处理及管理方法在审
申请号: | 202011047310.0 | 申请日: | 2020-09-29 |
公开(公告)号: | CN112162840A | 公开(公告)日: | 2021-01-01 |
发明(设计)人: | 曹蕤 | 申请(专利权)人: | 曹蕤 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/46;G06F9/50;G06F9/52 |
代理公司: | 苏州中合知识产权代理事务所(普通合伙) 32266 | 代理人: | 刘奇 |
地址: | 100020 北京市朝*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 中断 机制 处理 管理 方法 | ||
1.一种基于中断重入机制的协程处理方法,其特征在于,所述协程包括主协程和子协程,中断重入步骤包括:
S1:所述主协程抛出中断请求,所述主协程的底层框架响应所述中断请求并异步发送任务请求;
S2:切换至外部系统处理逻辑,所述主协程释放线程资源;
S3:所述任务请求应答通过回调接口执行重入所述子协程,并恢复至中断时上下文状态;
S4:所述子协程继续处理后续逻辑,直到执行结束,释放线程资源;或者子协程作为新的主协程抛出中断请求,重复上述步骤S1至S4。
2.根据权利要求1所述的一种基于中断重入机制的协程处理方法,其特征在于,步骤S1还包括,所述主协程首次抛出中断请求前,建立中断记忆对象并登记到记忆存储器中,所述记忆对象用于储存不可重复动作的执行结果,所述记忆存储器用于储存中断处上下文;
步骤S3还包括,重入所述子协程后,所述子协程执行到中断处并将上下文恢复到中断时的状态,并将所述任务的应答结果登记到所述记忆对象。
3.根据权利要求2所述的一种基于中断重入机制的协程处理方法,其特征在于,所述任务为批处理任务,所述主协程的底层框架通过调用CallBatch()接口执行批处理任务。
4.根据权利要求3所述的一种基于中断重入机制的协程处理方法,其特征在于,所述CallBatch()接口首次执行时包括以下步骤:
创建BatchCall记忆对象,并登记到记忆存储器中,此时所述BatchCall记忆对象的isInitial标识为true;
执行BatchCall记忆对象的Execute()接口抛出中断类型异常;
调用方捕获所述中断类型异常,并执行BatchCall记忆对象的ExecuteAfterInterruption()接口;
所述ExecuteAfterInterruption()接口调起所述BatchCall记忆对象的OnExecuteAfterInterruption()接口,异步发送批处理任务的请求并在内存中注册回调接口;
动作执行完后,所述BatchCall记忆对象的isInitial标识被置为false,程序执行结束,释放出线程资源。
5.根据权利要求4所述的一种基于中断重入机制的协程处理方法,其特征在于,任务应答通过回调接口切换至所述主协程包括以下步骤:
底层框架使用新线程调起回调接口HandleResponse(),并将任务应答传给所述回调接口HandleResponse();
所述回调接口HandleResponse()调起Resume()接口,所述Resume()接口则调起OnProcess()接口重新开始执行所述主协程处理逻辑;
所述主协程再次执行到CallBatch()接口时,查验所述记忆存储器中登记的所述BatchCall记忆对象,此时所述BatchCall记忆对象的isInitial标识为false,不再执行Execute()接口,将任务应答登记到所述BatchCall记忆对象中,使得后续可以从所述BatchCall记忆对象中获取任务应答继续后续处理。
6.根据权利要求5所述的一种基于中断重入机制的协程处理方法,其特征在于,任务应答内容存储于所述BatchCall记忆对象中。
7.一种基于中断重入机制的协程管理方法,其特征在于,利用权利要求3-6任意一项所述的一种基于中断重入机制的协程处理方法,所述协程组合为应用,所述协程包括协程标识、中断标识isInterrupted和记忆存储器,所述应用运行包括一次开始处理接口Process()和多次重入处理接口Resume()的调用,还包括应用程序入口OnProcess(),所述开始处理接口Process()和重入处理接口Resume()均通过调用所述应用程序入口OnProcess()执行处理逻辑,所述应用程序入口OnProcess()内包括所述CallBatch()接口;在调用所述应用程序入口OnProcess()前通过循环遍历应用的协程集合调起应用程序入口OnProcess()。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于曹蕤,未经曹蕤许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011047310.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种比色杯组清洗装置
- 下一篇:一种食用油压榨方法