[发明专利]一种程序可中断运行系统及方法在审
申请号: | 202010006916.3 | 申请日: | 2020-01-03 |
公开(公告)号: | CN111240816A | 公开(公告)日: | 2020-06-05 |
发明(设计)人: | 朱烨 | 申请(专利权)人: | 上海瀚之友信息技术服务有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 上海申新律师事务所 31272 | 代理人: | 党蕾 |
地址: | 200001 上海市黄*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 程序 中断 运行 系统 方法 | ||
本发明公开了一种程序可中断运行系统及方法,属于应用程序执行技术领域;系统中设置有多个运行单元;调度单元,用于根据运行单元的运行状态对运行单元进行调度:当运行状态为初始状态时,调度单元调度运行单元承载应用程序并开始运行;当运行状态为执行状态且发生中断时,运行单元中断应用程序的运行,并将相关的中断数据暂存于对应的存储空间内,调度单元将运行单元的运行状态改为中断状态;当运行状态更改为恢复状态时,根据暂存的中断数据将应用程序恢复到中断时的状态,调度单元将运行单元的运行状态更改为执行状态。上述技术方案的有益效果是:使得应用程序在用户层面具备类似进程的管理模式,提高了任务的执行效率和资源的使用率。
技术领域
本发明涉及应用程序执行技术领域,尤其涉及一种程序可中断运行系统及方法。
背景技术
程序调用是应用程序编码和执行过程中常见的执行方式。当一个应用程序执行到需要调用外部方法(例如调用外部数据库或者进行RPC调用等)时,该应用程序往往会停止运行,等待外部方法回传的调用结果再继续运行。这段时间内,应用程序虽然处于停止运行的状态,但是承载该应用程序的进程并没有将该应用程序抛弃,应用程序所占用的系统资源也没有得到释放,因此会浪费系统资源,并且导致后续等待执行的其他应用程序无法及时执行。
现有的进程中断机制虽然可以部分解决上述问题,但是进程中断机制是在系统底层运行的硬件解决机制,其无法被用户层面所获知,也无法被用户层面所控制,因此无法灵活应用在程序调用的过程中。
发明内容
根据现有技术中存在的上述问题,现提供一种程序可中断运行系统及方法的技术方案,旨在模拟进程中断机制,实现程序的可中断运行控制,使得应用程序在用户层面具备操作系统核心对于进程的相似管理模式,极大化提高了任务的执行效率和资源的使用率。
上述技术方案具体包括:
一种程序可中断运行系统,其中,所述程序可中断运行系统运行于应用层上;
所述程序可中断运行系统中设置有多个运行单元,每个所述运行单元分别用于运行应用程序;
于所述应用程序的程序代码中的多个预定位置预先定义可中断编码;
每个所述运行单元分别连接一存储空间,所述存储空间中用于保存所述运行单元中发生所述程序中断事件的中断时刻的代码数据以及中断位置数据,所述代码数据中包括所述应用程序当前的局部变量数据和操作数栈数据;
所述程序可中断运行系统中还包括:
调度单元,分别连接每个所述运行单元,用于根据所述运行单元当前的运行状态对所述运行单元进行调度:
当所述运行单元的运行状态为初始状态时,所述调度单元调度所述运行单元承载所述应用程序并开始运行所述程序代码;
当所述运行单元的运行状态为执行状态,且所述程序代码运行至所述可中断编码处时,所述运行单元中断所述应用程序的运行,并将所述程序代码当前的所述中断数据暂存于所述运行单元所对应的所述存储空间内,所述调度单元将所述运行单元的运行状态改为中断状态;
当所述运行单元的运行状态由所述中断状态更改为恢复状态时,所述运行单元根据对应的所述存储空间内暂存的所述中断数据,将所述应用程序恢复到中断时的状态,所述调度单元将所述运行单元的运行状态更改为所述执行状态。
优选的,该程序可中断运行系统,其中,于所述程序代码中,在调用系统注册的预定接口处定义所述可中断编码。
优选的,该程序可中断运行系统,其中,还包括:
标记单元,连接每个所述运行单元;
当所述运行单元中断所述应用程序的运行时,所述标记单元在中断时执行的代码处添加一预定标签,并以所述预定标签作为所述中断位置数据保存在所述存储空间内;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海瀚之友信息技术服务有限公司,未经上海瀚之友信息技术服务有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010006916.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:数据处理方法、装置、介质和设备
- 下一篇:日历显示方法、装置以及存储介质