[发明专利]保证异步程序健壮性的方法及设备在审
| 申请号: | 201710221436.7 | 申请日: | 2017-04-06 |
| 公开(公告)号: | CN107015910A | 公开(公告)日: | 2017-08-04 |
| 发明(设计)人: | 李群;张鑫;苏楠 | 申请(专利权)人: | 上海云轴信息科技有限公司 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36 |
| 代理公司: | 上海百一领御专利代理事务所(普通合伙)31243 | 代理人: | 甘章乖,邵栋 |
| 地址: | 200241 上海市*** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 保证 异步 程序 健壮性 方法 设备 | ||
技术领域
本申请涉及信息技术领域,尤其涉及一种保证异步程序健壮性的方案。
背景技术
在IaaS(Infrastructure as a Service,基础设施即服务)系统中,以创建虚拟机的操作为例,管理节点发出一个信息:我要创建10台虚拟机,。每台虚拟机的创建,需要查找可用的CPU,内存,网络等多种资源。对于管理节点来说,它发出请求后,可以继续进行查找数据库、克隆、创建存储、连接网络等多种操作。假设管理节点发送一个请求到计算节点(物理机)上需要1s,物理机创建虚拟机需要100s,创建成功返回管理节点消息需要1s。那么创建100台虚拟机,对管理节点来说,若采用同步的构架,就需要102×100s。若采用异步的构架,由于物理机创建这些虚拟机的过程相对独立,这个过程虽然并不会降低物理机创建所有虚拟机的资源消耗和时间开销,但是对于整个系统来说耗时将远小于同步的方式。
异步的架构往往使用异步方法来执行任务,但是异步方法中的异常处理一直是一个难题。由于在理论上,对每个可能出现异常的代码块,都需要加上能够处理异常的代码,从而保证异步程度的健壮性,否则当代码块出现异常时,将导致程序崩溃。由于对异常处理的代码,其本身行数较多,可能大于可能出现异常的代码块本身,并且同一个项目中技术人员的水平、执行情况的差异,整个过程工作量巨大,且在很难保证对每个可能出现异常的代码块都加上能够处理异常的代码。
申请内容
本申请的一个目的是提供一种保证异步程序健壮性的方法及设备。
为实现上述目的,本申请提供了一种保证异步程序健壮性的方法,该方法包括:
在编译过程中,检测异步程序中异步方法所对应的代码块;
在所述异步方法所对应的代码块中注入异常处理代码,以使所述异步方法出现异常时继续执行所述异步程序。
进一步地,在编译过程中,检测异步程序中异步方法所对应的代码块,包括:
在编译过程中,查询所述异步程序中预先定义的数据结构;
在查询到所述数据结构后,根据所述数据结构在所述异步程序中确定所述异步方法所对应的代码块。
进一步地,在所述异步方法所对应的代码块中注入异常处理代码,以使所述异步方法出现异常时继续执行所述异步程序,包括:
根据预设的注入规则,在所述异步方法对应的代码块中确定注入异常处理代码的注入位置;
在所述注入位置注入异常处理代码,以使所述异步方法出现异常时继续执行所述异步程序。
进一步地,在所述异步方法所对应的代码块中注入异常处理代码,以使所述异步方法出现异常时继续执行所述异步程序,包括:
在所述异步方法所对应的代码块中注入异常处理代码,以使所述异步方法出现异常时,对所述异常进行处理,并继续执行所述异步程序。
进一步地,所述异常处理代码为try catch语句。
基于本申请的另一方面,还提供了一种保证异步程序健壮性的设备,其中,该设备包括:
识别装置,用于在编译过程中,检测异步程序中异步方法所对应的代码块;
注入装置,用于在所述异步方法所对应的代码块中注入异常处理代码,以使所述异步方法出现异常时继续执行所述异步程序。
进一步地,所述识别装置,用于在编译过程中,查询所述异步程序中预先定义的数据结构;以及在查询到所述数据结构后,根据所述数据结构在所述异步程序中确定所述异步方法所对应的代码块。
进一步地,所述注入装置,用于根据预设的注入规则,在所述异步方法对应的代码块中确定注入异常处理代码的注入位置;以及在所述注入位置注入异常处理代码,以使所述异步方法出现异常时继续执行所述异步程序。
进一步地,所述注入装置,用于在所述异步方法所对应的代码块中注入异常处理代码,以使所述异步方法出现异常时,对所述异常进行处理,并继续执行所述异步程序。
进一步地,所述异常处理代码为try catch语句。:
与现有技术相比,本申请提供了一种保证异步程序健壮性的方案,该方案在异步程序编译过程中,检测异步程序中异步方法所对应的代码块,然后在所述异步方法所对应的代码块中注入异常处理代码,以使所述异步方法出现异常时继续执行所述异步程序,从而避免整个异步程序在某些异步方法的代码块出现异常时崩溃,从而保证异步程度的健壮性,降低人力成本。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海云轴信息科技有限公司,未经上海云轴信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710221436.7/2.html,转载请声明来源钻瓜专利网。





