一种基于异常处理实现应用的跨系统运行的方法及设备技术方案

技术编号:15822541 阅读:17 留言:0更新日期:2017-07-15 04:48
本发明专利技术公开了一种基于异常处理实现应用的跨系统运行的方法及设备,其中方法包括:在当前操作系统中建立用于运行跨系统应用的运行环境,所述运行环境使得所述跨系统应用处于与其在原始操作系统运行时相同的环境中;捕获所述当前操作系统在运行所述跨系统应用时发出的异常事件;响应于所述异常事件,促使所述跨系统应用进入等待状态;根据所述异常事件的异常类型和异常内容,确定为解决所述异常事件所需要的异常处理;以及根据所述异常处理对所述当前操作系统所发出的异常事件进行处理,并且促使处于等待状态的所述跨系统应用退出等待状态以继续运行。

【技术实现步骤摘要】
一种基于异常处理实现应用的跨系统运行的方法及设备
本专利技术涉及计算机领域,并且更具体地,涉及一种基于异常处理实现应用的跨系统运行的方法及设备。
技术介绍
目前,随着诸如手机的移动终端的普及率快速提高,人们的日常生活已经越来越依赖于移动终端的使用。目前,智能化的移动终端能够满足人们在各种领域的需求,例如,在工作领域、学习领域以及商务领域中的各种需求。在这种情况下,越来越多的应用提供商将移动操作系统作为提供服务的主要平台。这样导致应用提供商优先开发和提供基于移动操作系统的应用。然而,由于移动终端的电池容量和屏幕尺寸问题,许多人希望能够在个人计算机上运行仅提供了移动操作系统版本的应用。为此,在个人计算机系统(例如,Windows7)上运行基于移动操作系统(例如,Android系统)的移动应用已经得到部分提供商的支持。通常,这部分提供商通过虚拟机的方式在个人计算机系统上运行移动应用。按照虚拟机的方式来运行移动应用通常需要用户首先运行虚拟机,但是这通常导致繁琐的操作。另一方面,当移动应用运行在个人计算机上时,由于个人操作系统并不能够完全支持移动应用的运行,为此在运行过程中通常会触发异常事件。例如,个人操作系统发现异常的系统调用、无法解析的指令、不同的寄存器位数以及移动应用自身运行故障时,无法处理上述异常通常会到触发异常事件。当个人操作系统触发异常事件后,这种异常事件通常会导致移动应用无法正常运行。如果不对异常事件进行处理,那么通常会导致移动应用的运行环境崩溃。
技术实现思路
根据本专利技术的一个方面,提供一种基于异常处理实现应用的跨系统运行的方法,所述方法包括:在当前操作系统中建立用于运行跨系统应用的运行环境,所述运行环境使得所述跨系统应用处于与其在原始操作系统运行时相同的环境中;捕获所述当前操作系统在运行所述跨系统应用时发出的异常事件;响应于所述异常事件,促使所述跨系统应用进入等待状态;根据所述异常事件的异常类型和异常内容,确定为解决所述异常事件所需要的异常处理;以及根据所述异常处理对所述当前操作系统所发出的异常事件进行处理,并且促使处于等待状态的所述跨系统应用退出等待状态以继续运行。优选地,所述异常事件能够使所述当前操作系统无法运行所述跨系统应用。优选地,所述根据所述异常事件的异常类型和异常内容,确定要解决所述异常事件所需要的异常处理包括:当异常类型为系统调用异常并且异常内容为特定系统调用时,调用底层应用以获得底层应用返回的调用结果。优选地,将所述调用结果发送给所述当前操作系统,从而对所述当前操作系统所发出的异常事件进行应答。优选地,所述根据所述异常事件的异常类型和异常内容,确定要解决所述异常事件所需要的异常处理包括:当异常类型为寄存器异常并且异常内容为寄存器内容时,进行寄存器转换并且将寄存器内容转换为所述当前操作系统能够识别的寄存器内容。优选地,将所述当前操作系统能够识别的寄存器内容发送给所述当前操作系统,从而对所述当前操作系统所发出的异常事件进行应答。优选地,所述根据所述异常事件的异常类型和异常内容,确定要解决所述异常事件所需要的异常处理包括:当异常类型为跨系统应用异常并且异常内容为异常代码段时,利用运行环境对所述异常事件进行处理并且生成正确代码段。优选地,将所述正确代码段发送给所述当前操作系统,从而对所述当前操作系统所发出的异常事件进行应答。优选地,所述根据所述异常事件的异常类型和异常内容,确定要解决所述异常事件所需要的异常处理包括:当异常类型为指令异常并且异常内容为异常指令时,利用运行环境将所述异常指令转换为正确指令。优选地,将所述正确代码段发送给所述当前操作系统,从而对所述当前操作系统所发出的异常事件进行应答。优选地,当在所述当前操作系统中运行所述跨系统应用时,所述运行环境使得所述跨系统应用认为其运行在所述原始操作系统中。优选地,所述原始操作系统为Android系统,并且所述当前操作系统为Windows系统。根据本专利技术的另一方面,提供一种基于异常处理实现应用的跨系统运行的设备,所述设备包括:初始化单元,在当前操作系统中建立用于运行跨系统应用的运行环境,所述运行环境使得所述跨系统应用处于与其在原始操作系统运行时相同的环境中;异常捕获单元,捕获所述当前操作系统在运行所述跨系统应用时发出的异常事件,响应于所述异常事件,促使所述跨系统应用进入等待状态;以及异常处理单元,根据所述异常事件的异常类型和异常内容,确定为解决所述异常事件所需要的异常处理,根据所述异常处理对所述当前操作系统所发出的异常事件进行处理,并且促使处于等待状态的所述跨系统应用退出等待状态以继续运行。优选地,所述异常事件能够使所述当前操作系统无法运行所述跨系统应用。优选地,当异常类型为系统调用异常并且异常内容为特定系统调用时,异常处理单元调用底层应用以获得底层应用返回的调用结果。优选地,异常处理单元将所述调用结果发送给所述当前操作系统,从而对所述当前操作系统所发出的异常事件进行应答。优选地,当异常类型为寄存器异常并且异常内容为寄存器内容时,异常处理单元进行寄存器转换并且将寄存器内容转换为所述当前操作系统能够识别的寄存器内容。优选地,异常处理单元将所述当前操作系统能够识别的寄存器内容发送给所述当前操作系统,从而对所述当前操作系统所发出的异常事件进行应答。优选地,当异常类型为跨系统应用异常并且异常内容为异常代码段时,异常处理单元利用运行环境对所述异常事件进行处理并且生成正确代码段。优选地,异常处理单元将所述正确代码段发送给所述当前操作系统,从而对所述当前操作系统所发出的异常事件进行应答。优选地,当异常类型为指令异常并且异常内容为异常指令时,异常处理单元利用运行环境将所述异常指令转换为正确指令。优选地,异常处理单元将所述正确代码段发送给所述当前操作系统,从而对所述当前操作系统所发出的异常事件进行应答。优选地,当在所述当前操作系统中运行所述跨系统应用时,所述运行环境使得所述跨系统应用认为其运行在所述原始操作系统中。优选地,所述原始操作系统为Android系统,并且所述当前操作系统为Windows系统。根据本专利技术的再一方面,提供一种移动终端,包括或用于执行如上所述的设备。附图说明通过参考下面的附图,可以更为完整地理解本专利技术的示例性实施方式:图1为根据本专利技术优选实施方式的基于异常处理实现应用的跨系统运行的设备的结构示意图;图2为根据本专利技术优选实施方式的用于实现应用的跨系统运行的架构的示意图;图3为现有技术中当前操作系统触发异常事件的示意图;图4为根据本专利技术优选实施方式的对异常事件进行处理的示意图;以及图5为根据本专利技术优选实施方式的基于异常处理实现应用的跨系统运行的方法的流程图。具体实施方式现在参考附图介绍本专利技术的示例性实施方式,然而,本专利技术可以用许多不同的形式来实施,并且不局限于此处描述的实施例,提供这些实施例是为了详尽地且完全地公开本专利技术,并且向所属
的技术人员充分传达本专利技术的范围。对于表示在附图中的示例性实施方式中的术语并不是对本专利技术的限定。在附图中,相同的单元/元件使用相同的附图标记。除非另有说明,此处使用的术语(包括科技术语)对所属
的技术人员具有通常的理解含义。另外,可以理解的是,以通常使用的词典限定的术语,应当被理解为与其相关本文档来自技高网
...
一种基于异常处理实现应用的跨系统运行的方法及设备

【技术保护点】
一种基于异常处理实现应用的跨系统运行的方法,所述方法包括:在当前操作系统中建立用于运行跨系统应用的运行环境,所述运行环境使得所述跨系统应用处于与其在原始操作系统运行时相同的环境中;捕获所述当前操作系统在运行所述跨系统应用时发出的异常事件;响应于所述异常事件,促使所述跨系统应用进入等待状态;根据所述异常事件的异常类型和异常内容,确定为解决所述异常事件所需要的异常处理;以及根据所述异常处理对所述当前操作系统所发出的异常事件进行处理,并且促使处于等待状态的所述跨系统应用退出等待状态以继续运行。

【技术特征摘要】
1.一种基于异常处理实现应用的跨系统运行的方法,所述方法包括:在当前操作系统中建立用于运行跨系统应用的运行环境,所述运行环境使得所述跨系统应用处于与其在原始操作系统运行时相同的环境中;捕获所述当前操作系统在运行所述跨系统应用时发出的异常事件;响应于所述异常事件,促使所述跨系统应用进入等待状态;根据所述异常事件的异常类型和异常内容,确定为解决所述异常事件所需要的异常处理;以及根据所述异常处理对所述当前操作系统所发出的异常事件进行处理,并且促使处于等待状态的所述跨系统应用退出等待状态以继续运行。2.根据权利要求1所述的方法,所述异常事件能够使所述当前操作系统无法运行所述跨系统应用。3.根据权利要求1所述的方法,所述根据所述异常事件的异常类型和异常内容,确定要解决所述异常事件所需要的异常处理包括:当异常类型为系统调用异常并且异常内容为特定系统调用时,调用底层应用以获得底层应用返回的调用结果。4.根据权利要求3所述的方法,将所述调用结果发送给所述当前操作系统,从而对所述当前操作系统所发出的异常事件进行应答。5.根据权利要求1所述的方法,所述根据所述异常事件的异常类型和异常内容,确定要解决所述异常事件所需要的异常处理包括:当异常类型为寄存器异常并且异常内容为寄存器内容时,进行寄存器转换并且将寄存器...

【专利技术属性】
技术研发人员:范龙飞侯雨严晗王大为张涛尚志杰冉欣梁志辉
申请(专利权)人:北京奇虎科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1