CN106951337B - 一种基于异常处理实现应用的跨系统运行的方法及设备 - Google Patents

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

Info

Publication number
CN106951337B
CN106951337B CN201710193676.0A CN201710193676A CN106951337B CN 106951337 B CN106951337 B CN 106951337B CN 201710193676 A CN201710193676 A CN 201710193676A CN 106951337 B CN106951337 B CN 106951337B
Authority
CN
China
Prior art keywords
exception
operating system
cross
current operating
application
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710193676.0A
Other languages
English (en)
Other versions
CN106951337A (zh
Inventor
范龙飞
侯雨
严晗
王大为
张涛
尚志杰
冉欣
梁志辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Qihoo Technology Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201710193676.0A priority Critical patent/CN106951337B/zh
Publication of CN106951337A publication Critical patent/CN106951337A/zh
Application granted granted Critical
Publication of CN106951337B publication Critical patent/CN106951337B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

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

Description

一种基于异常处理实现应用的跨系统运行的方法及设备
技术领域
本发明涉及计算机领域,并且更具体地,涉及一种基于异常处理实现应用的跨系统运行的方法及设备。
背景技术
目前,随着诸如手机的移动终端的普及率快速提高,人们的日常生活已经越来越依赖于移动终端的使用。目前,智能化的移动终端能够满足人们在各种领域的需求,例如,在工作领域、学习领域以及商务领域中的各种需求。在这种情况下,越来越多的应用提供商将移动操作系统作为提供服务的主要平台。这样导致应用提供商优先开发和提供基于移动操作系统的应用。然而,由于移动终端的电池容量和屏幕尺寸问题,许多人希望能够在个人计算机上运行仅提供了移动操作系统版本的应用。
为此,在个人计算机系统(例如,Windows 7)上运行基于移动操作系统(例如,Android系统)的移动应用已经得到部分提供商的支持。通常,这部分提供商通过虚拟机的方式在个人计算机系统上运行移动应用。按照虚拟机的方式来运行移动应用通常需要用户首先运行虚拟机,但是这通常导致繁琐的操作。另一方面,当移动应用运行在个人计算机上时,由于个人操作系统并不能够完全支持移动应用的运行,为此在运行过程中通常会触发异常事件。例如,个人操作系统发现异常的系统调用、无法解析的指令、不同的寄存器位数以及移动应用自身运行故障时,无法处理上述异常通常会到触发异常事件。
当个人操作系统触发异常事件后,这种异常事件通常会导致移动应用无法正常运行。如果不对异常事件进行处理,那么通常会导致移动应用的运行环境崩溃。
发明内容
根据本发明的一个方面,提供一种基于异常处理实现应用的跨系统运行的方法,所述方法包括:
在当前操作系统中建立用于运行跨系统应用的运行环境,所述运行环境使得所述跨系统应用处于与其在原始操作系统运行时相同的环境中;
捕获所述当前操作系统在运行所述跨系统应用时发出的异常事件;
响应于所述异常事件,促使所述跨系统应用进入等待状态;
根据所述异常事件的异常类型和异常内容,确定为解决所述异常事件所需要的异常处理;以及
根据所述异常处理对所述当前操作系统所发出的异常事件进行处理,并且促使处于等待状态的所述跨系统应用退出等待状态以继续运行。
优选地,所述异常事件能够使所述当前操作系统无法运行所述跨系统应用。
优选地,所述根据所述异常事件的异常类型和异常内容,确定要解决所述异常事件所需要的异常处理包括:当异常类型为系统调用异常并且异常内容为特定系统调用时,调用底层应用以获得底层应用返回的调用结果。
优选地,将所述调用结果发送给所述当前操作系统,从而对所述当前操作系统所发出的异常事件进行应答。
优选地,所述根据所述异常事件的异常类型和异常内容,确定要解决所述异常事件所需要的异常处理包括:当异常类型为寄存器异常并且异常内容为寄存器内容时,进行寄存器转换并且将寄存器内容转换为所述当前操作系统能够识别的寄存器内容。
优选地,将所述当前操作系统能够识别的寄存器内容发送给所述当前操作系统,从而对所述当前操作系统所发出的异常事件进行应答。
优选地,所述根据所述异常事件的异常类型和异常内容,确定要解决所述异常事件所需要的异常处理包括:当异常类型为跨系统应用异常并且异常内容为异常代码段时,利用运行环境对所述异常事件进行处理并且生成正确代码段。
优选地,将所述正确代码段发送给所述当前操作系统,从而对所述当前操作系统所发出的异常事件进行应答。
优选地,所述根据所述异常事件的异常类型和异常内容,确定要解决所述异常事件所需要的异常处理包括:当异常类型为指令异常并且异常内容为异常指令时,利用运行环境将所述异常指令转换为正确指令。
优选地,将所述正确代码段发送给所述当前操作系统,从而对所述当前操作系统所发出的异常事件进行应答。
优选地,当在所述当前操作系统中运行所述跨系统应用时,所述运行环境使得所述跨系统应用认为其运行在所述原始操作系统中。
优选地,所述原始操作系统为Android系统,并且所述当前操作系统为Windows系统。
根据本发明的另一方面,提供一种基于异常处理实现应用的跨系统运行的设备,所述设备包括:
初始化单元,在当前操作系统中建立用于运行跨系统应用的运行环境,所述运行环境使得所述跨系统应用处于与其在原始操作系统运行时相同的环境中;
异常捕获单元,捕获所述当前操作系统在运行所述跨系统应用时发出的异常事件,响应于所述异常事件,促使所述跨系统应用进入等待状态;以及
异常处理单元,根据所述异常事件的异常类型和异常内容,确定为解决所述异常事件所需要的异常处理,根据所述异常处理对所述当前操作系统所发出的异常事件进行处理,并且促使处于等待状态的所述跨系统应用退出等待状态以继续运行。
优选地,所述异常事件能够使所述当前操作系统无法运行所述跨系统应用。
优选地,当异常类型为系统调用异常并且异常内容为特定系统调用时,异常处理单元调用底层应用以获得底层应用返回的调用结果。
优选地,异常处理单元将所述调用结果发送给所述当前操作系统,从而对所述当前操作系统所发出的异常事件进行应答。
优选地,当异常类型为寄存器异常并且异常内容为寄存器内容时,异常处理单元进行寄存器转换并且将寄存器内容转换为所述当前操作系统能够识别的寄存器内容。
优选地,异常处理单元将所述当前操作系统能够识别的寄存器内容发送给所述当前操作系统,从而对所述当前操作系统所发出的异常事件进行应答。
优选地,当异常类型为跨系统应用异常并且异常内容为异常代码段时,异常处理单元利用运行环境对所述异常事件进行处理并且生成正确代码段。
优选地,异常处理单元将所述正确代码段发送给所述当前操作系统,从而对所述当前操作系统所发出的异常事件进行应答。
优选地,当异常类型为指令异常并且异常内容为异常指令时,异常处理单元利用运行环境将所述异常指令转换为正确指令。
优选地,异常处理单元将所述正确代码段发送给所述当前操作系统,从而对所述当前操作系统所发出的异常事件进行应答。
优选地,当在所述当前操作系统中运行所述跨系统应用时,所述运行环境使得所述跨系统应用认为其运行在所述原始操作系统中。
优选地,所述原始操作系统为Android系统,并且所述当前操作系统为Windows系统。
根据本发明的再一方面,提供一种移动终端,包括或用于执行如上所述的设备。
附图说明
通过参考下面的附图,可以更为完整地理解本发明的示例性实施方式:
图1为根据本发明优选实施方式的基于异常处理实现应用的跨系统运行的设备的结构示意图;
图2为根据本发明优选实施方式的用于实现应用的跨系统运行的架构的示意图;
图3为现有技术中当前操作系统触发异常事件的示意图;
图4为根据本发明优选实施方式的对异常事件进行处理的示意图;以及
图5为根据本发明优选实施方式的基于异常处理实现应用的跨系统运行的方法的流程图。
具体实施方式
现在参考附图介绍本发明的示例性实施方式,然而,本发明可以用许多不同的形式来实施,并且不局限于此处描述的实施例,提供这些实施例是为了详尽地且完全地公开本发明,并且向所属技术领域的技术人员充分传达本发明的范围。对于表示在附图中的示例性实施方式中的术语并不是对本发明的限定。在附图中,相同的单元/元件使用相同的附图标记。
除非另有说明,此处使用的术语(包括科技术语)对所属技术领域的技术人员具有通常的理解含义。另外,可以理解的是,以通常使用的词典限定的术语,应当被理解为与其相关领域的语境具有一致的含义,而不应该被理解为理想化的或过于正式的意义。
图1为根据本发明优选实施方式的基于异常处理实现应用的跨系统运行的设备100的结构示意图。优选地,设备100在当前操作系统中建立用于运行跨系统应用的运行环境。其中运行环境使得所述跨系统应用处于与其在原始操作系统运行时相同的环境中。设备100能够捕获所述当前操作系统在运行所述跨系统应用时发出的异常事件,并且响应于所述异常事件,促使所述跨系统应用进入等待状态。最后,设备100根据所述异常事件的异常类型和异常内容,确定为解决所述异常事件所需要的异常处理,进而根据所述异常处理对所述当前操作系统所发出的异常事件进行处理,并且促使处于等待状态的所述跨系统应用退出等待状态以继续运行。
如图1所示,设备100包括:初始化单元101、异常捕获单元102以及异常处理单元103。优选地,优选地,初始化单元101用于在当前操作系统中建立用于运行所述跨系统应用的运行环境,所述运行环境使得所述跨系统应用处于与其在原始操作系统运行时相同的环境中。优选地,跨系统应用可以是运行在移动操作系统中的应用。通常,跨系统应用可以是各种类型的应用,例如,游戏应用。初始地,跨系统应用被设计用于在移动设备的移动操作系统中运行。移动设备可以是任意类型的移动终端、或便携式终端,包括移动手机、站、单元、设备、多媒体计算机、多媒体平板、因特网节点、通信器、个人数字助理(PDA)、或其任意组合。
通常,移动设备可以根据各种有线或无线通信协议来建立网络连接。网络连接用于为移动设备和对端设备建立通信连接,从而形成通信网络。通信网络例如是数据网络、无线网络、电话网络、或其任意组合。网络连接可以是数据线、网线、电话线以及无线连接等各种类型的连接。因此,所组成的网络可以是局域网(LAN)、城域网(MAN)、广域网(WAN)、公共数据网(例如因特网)、或任意其他适合的分组交换网络。此外,无线网络可以是例如蜂窝网络、无线保真(WiFi)等。
优选地,由于移动设备的电池容量和屏幕尺寸问题,在个人计算机上运行跨系统应用越来越受到关注。为此,本发明需要在当前操作系统,即在个人计算机上运行的操作系统中运行跨系统应用。为了在不安装虚拟机的情况下,个人计算机上运行的个人操作系统中运行跨系统应用,本发明在个人操作系统(例如,Windows 7系统)中建立运行环境。运行环境使得所述跨系统应用处于与其在移动操作系统运行时相同的环境中。即,运行环境在个人操作系统中为跨系统应用搭建了与移动操作系统中相同的运行条件。当在所述当前操作系统中运行所述跨系统应用时,所述运行环境使得所述跨系统应用认为其运行在所述原始操作系统中。
优选地,异常捕获单元102捕获所述当前操作系统在运行所述跨系统应用时发出的异常事件。响应于所述异常事件,促使所述跨系统应用进入等待状态。其中,异常事件能够使所述当前操作系统无法运行所述跨系统应用。通常,个人操作系统发现异常的系统调用、无法解析的指令、不同的寄存器位数以及移动应用自身运行故障时,无法处理上述异常通常会到触发异常事件。优选地,为了使跨系统应用能够在出现问题的情况下继续运行,本发明需要对异常事件进行处理。通常,在出现异常事件时,异常捕获单元可以促使跨系统应用进入等待状态。在跨系统应用进入等待状态期间,本发明利用异常处理单元对异常事件进行处理从而保证跨系统应用的正常运行。通常地,异常事件包括异常类型和异常内容。其中异常类型可以是系统调用异常、寄存器异常、跨系统应用异常以及指令异常。此外,异常内容可以是特定系统调用、寄存器内容、异常代码段以及异常指令。
优选地,异常处理单元103根据所述异常事件的异常类型和异常内容,确定为解决所述异常事件所需要的异常处理。进一步地,根据所述异常处理对所述当前操作系统所发出的异常事件进行处理,并且促使处于等待状态的所述跨系统应用退出等待状态以继续运行。
优选地,当异常类型为系统调用异常并且异常内容为特定系统调用时,异常处理单元103调用底层应用以获得底层应用返回的调用结果。异常处理单元103将所述调用结果发送给所述当前操作系统,从而对所述当前操作系统所发出的异常事件进行应答。当异常类型为寄存器异常并且异常内容为寄存器内容时,异常处理单元103进行寄存器转换并且将寄存器内容转换为所述当前操作系统能够识别的寄存器内容。异常处理单元103将所述当前操作系统能够识别的寄存器内容发送给所述当前操作系统,从而对所述当前操作系统所发出的异常事件进行应答。当异常类型为跨系统应用异常并且异常内容为异常代码段时,异常处理单元103利用运行环境对所述异常事件进行处理并且生成正确代码段。异常处理单元103将所述正确代码段发送给所述当前操作系统,从而对所述当前操作系统所发出的异常事件进行应答。当异常类型为指令异常并且异常内容为异常指令时,异常处理单元103利用运行环境将所述异常指令转换为正确指令。异常处理单元103将所述正确代码段发送给所述当前操作系统,从而对所述当前操作系统所发出的异常事件进行应答。
优选地,移动操作系统或原始操作系统可以为Android系统,或其它任何移动终端上使用的操作系统。个人操作系统或当前操作系统可以为Windows 7系统,或其它任何桌面操作系统。优选地,跨系统应用可以是各种类型的游戏应用。此外,设备100可以按照软件或固件的方式被放置在移动终端中。
图2为根据本发明优选实施方式的用于实现应用的跨系统运行的架构200的示意图。本发明在当前操作系统中建立用于运行所述跨系统应用的运行环境,所述运行环境使得所述跨系统应用处于与其在原始操作系统运行时相同的环境中。优选地,跨系统应用可以是运行在移动操作系统中的应用。通常,跨系统应用可以是各种类型的应用,例如,游戏应用。初始地,跨系统应用被设计用于在移动设备的移动操作系统中运行。
优选地,由于移动设备的电池容量和屏幕尺寸问题,在个人计算机上运行跨系统应用越来越受到关注。为此,本发明需要在当前操作系统,即在个人计算机上运行的操作系统中运行跨系统应用。为了在不安装虚拟机的情况下,个人计算机上运行的个人操作系统中运行跨系统应用,本发明在个人操作系统(例如,Windows 7系统)中建立运行环境。运行环境使得所述跨系统应用处于与其在移动操作系统运行时相同的环境中。即,运行环境在个人操作系统中为跨系统应用搭建了与移动操作系统中相同的运行条件。当在所述当前操作系统中运行所述跨系统应用时,所述运行环境使得所述跨系统应用认为其运行在所述原始操作系统中。
如图2所示,在Windows操作系统202中建立运行环境,并且利用运行环境来支持Android游戏应用201的运行。运行环境使得Android游戏应用201处于与其在Android系统运行时相同的环境中。即,运行环境在Windows系统202中为Android游戏应用201搭建了与Android系统中相同的运行条件。当在所述Windows系统202中运行Android游戏应用201时,所述运行环境使得Android游戏应用201认为其运行在Android系统中。
图3为现有技术中当前操作系统触发异常事件300的示意图。通常,当Android游戏应用301运行在个人计算机上时,由于Windows系统302并不能够完全支持Android游戏应用301的运行,为此在运行过程中通常会触发异常事件。例如,Windows系统302发现异常的系统调用、无法解析的指令、不同的寄存器位数以及Android游戏应用301自身运行故障时,无法处理上述异常通常会到触发异常事件。因此,当Windows系统302触发异常事件后,这种异常事件通常会导致Android游戏应用301无法正常运行。如果不对异常事件进行处理,那么通常会导致Android游戏应用301的运行环境崩溃。
图4为根据本发明优选实施方式的对异常事件进行处理400的示意图。优选地,异常捕获单元402捕获Windows操作系统404在运行Android游戏应用401时发出的异常事件。响应于所述异常事件,促使Android游戏应用401进入等待状态。其中,异常事件能够使Windows操作系统404无法运行Android游戏应用401。通常,个人操作系统发现异常的系统调用、无法解析的指令、不同的寄存器位数以及移动应用自身运行故障时,无法处理上述异常通常会到触发异常事件。优选地,为了使跨系统应用能够在出现问题的情况下继续运行,本发明需要对异常事件进行处理。通常,在出现异常事件时,异常捕获单元可以促使跨系统应用进入等待状态。在跨系统应用进入等待状态期间,本发明利用异常处理单元对异常事件进行处理从而保证跨系统应用的正常运行。通常地,异常事件包括异常类型和异常内容。其中异常类型可以是系统调用异常、寄存器异常、跨系统应用异常以及指令异常。此外,异常内容可以是特定系统调用、寄存器内容、异常代码段以及异常指令。
优选地,异常处理单元403根据所述异常事件的异常类型和异常内容,确定为解决所述异常事件所需要的异常处理。进一步地,根据所述异常处理对Windows操作系统404所发出的异常事件进行处理,并且促使处于等待状态的Android游戏应用401退出等待状态以继续运行。
优选地,当异常类型为系统调用异常并且异常内容为特定系统调用时,异常处理单元403调用底层应用以获得底层应用返回的调用结果。异常处理单元403将所述调用结果发送给Windows操作系统404,从而对Windows操作系统404所发出的异常事件进行应答。当异常类型为寄存器异常并且异常内容为寄存器内容时,异常处理单元403进行寄存器转换并且将寄存器内容转换为Windows操作系统404能够识别的寄存器内容。异常处理单元403将Windows操作系统404能够识别的寄存器内容发送给Windows操作系统404,从而对Windows操作系统404所发出的异常事件进行应答。当异常类型为跨系统应用异常并且异常内容为异常代码段时,异常处理单元403利用运行环境对所述异常事件进行处理并且生成正确代码段。异常处理单元403将所述正确代码段发送给Windows操作系统404,从而对Windows操作系统404所发出的异常事件进行应答。当异常类型为指令异常并且异常内容为异常指令时,异常处理单元403利用运行环境将所述异常指令转换为正确指令。异常处理单元403将所述正确代码段发送给Windows操作系统404,从而对Windows操作系统404所发出的异常事件进行应答。
图5为根据本发明优选实施方式的基于异常处理实现应用的跨系统运行的方法500的流程图。优选地,方法500从步骤501处开始。
优选地,在步骤501,在当前操作系统中建立用于运行跨系统应用的运行环境。其中运行环境使得所述跨系统应用处于与其在原始操作系统运行时相同的环境中。方法500在当前操作系统中建立用于运行所述跨系统应用的运行环境,所述运行环境使得所述跨系统应用处于与其在原始操作系统运行时相同的环境中。优选地,跨系统应用可以是运行在移动操作系统中的应用。通常,跨系统应用可以是各种类型的应用,例如,游戏应用。初始地,跨系统应用被设计用于在移动设备的移动操作系统中运行。
优选地,在步骤502,捕获所述当前操作系统在运行所述跨系统应用时发出的异常事件。其中,异常事件能够使所述当前操作系统无法运行所述跨系统应用。通常,个人操作系统发现异常的系统调用、无法解析的指令、不同的寄存器位数以及移动应用自身运行故障时,无法处理上述异常通常会到触发异常事件。优选地,为了使跨系统应用能够在出现问题的情况下继续运行,本发明需要对异常事件进行处理。
优选地,在步骤503,响应于所述异常事件,促使所述跨系统应用进入等待状态。通常,在出现异常事件时,异常捕获单元可以促使跨系统应用进入等待状态。在跨系统应用进入等待状态期间,本发明利用异常处理单元对异常事件进行处理从而保证跨系统应用的正常运行。通常地,异常事件包括异常类型和异常内容。其中异常类型可以是系统调用异常、寄存器异常、跨系统应用异常以及指令异常。此外,异常内容可以是特定系统调用、寄存器内容、异常代码段以及异常指令。
优选地,在步骤504,根据所述异常事件的异常类型和异常内容,确定为解决所述异常事件所需要的异常处理。优选地,当异常类型为系统调用异常并且异常内容为特定系统调用时,方法500调用底层应用以获得底层应用返回的调用结果。方法500将所述调用结果发送给所述当前操作系统,从而对所述当前操作系统所发出的异常事件进行应答。当异常类型为寄存器异常并且异常内容为寄存器内容时,方法500进行寄存器转换并且将寄存器内容转换为所述当前操作系统能够识别的寄存器内容。方法500将所述当前操作系统能够识别的寄存器内容发送给所述当前操作系统,从而对所述当前操作系统所发出的异常事件进行应答。当异常类型为跨系统应用异常并且异常内容为异常代码段时,方法500利用运行环境对所述异常事件进行处理并且生成正确代码段。方法500将所述正确代码段发送给所述当前操作系统,从而对所述当前操作系统所发出的异常事件进行应答。当异常类型为指令异常并且异常内容为异常指令时,方法500利用运行环境将所述异常指令转换为正确指令。方法500将所述正确代码段发送给所述当前操作系统,从而对所述当前操作系统所发出的异常事件进行应答。
优选地,在步骤505,根据所述异常处理对所述当前操作系统所发出的异常事件进行处理,并且促使处于等待状态的所述跨系统应用退出等待状态以继续运行。通过本发明的方法500,用户在当前操作系统中执行跨系统应用时,完全不用处理异常事件,并且不会感觉到跨系统应用的运行有任何延迟。
已经通过参考少量实施方式描述了本发明。然而,本领域技术人员所公知的,正如附带的专利权利要求所限定的,除了本发明以上公开的其他的实施例等同地落在本发明的范围内。
通常地,在权利要求中使用的所有术语都根据他们在技术领域的通常含义被转换,除非在其中被另外明确地定义。所有的参考“一个/所述/该[装置、组件等]”都被开放地转换为所述装置、组件等中的至少一个实例,除非另外明确地说明。这里公开的任何方法的步骤都没必要以公开的准确的顺序运行,除非明确地说明。

Claims (25)

1.一种基于异常处理实现应用的跨系统运行的方法,所述方法包括:
在不安装虚拟机的情况下,在当前操作系统中建立用于运行跨系统应用的运行环境,所述运行环境使得所述跨系统应用处于与其在原始操作系统运行时相同的环境中;
捕获所述当前操作系统在运行所述跨系统应用时发出的异常事件;
响应于所述异常事件,促使所述跨系统应用进入等待状态;
根据所述异常事件的异常类型和异常内容,确定要解决所述异常事件所需要的异常处理;以及
根据所述异常处理对所述当前操作系统所发出的异常事件进行处理,并且促使处于等待状态的所述跨系统应用退出等待状态以继续运行。
2.根据权利要求1所述的方法,所述异常事件能够使所述当前操作系统无法运行所述跨系统应用。
3.根据权利要求1所述的方法,所述根据所述异常事件的异常类型和异常内容,确定要解决所述异常事件所需要的异常处理包括:当异常类型为系统调用异常并且异常内容为特定系统调用时,调用底层应用以获得底层应用返回的调用结果。
4.根据权利要求3所述的方法,将所述调用结果发送给所述当前操作系统,从而对所述当前操作系统所发出的异常事件进行应答。
5.根据权利要求1所述的方法,所述根据所述异常事件的异常类型和异常内容,确定要解决所述异常事件所需要的异常处理包括:当异常类型为寄存器异常并且异常内容为寄存器内容时,进行寄存器转换并且将寄存器内容转换为所述当前操作系统能够识别的寄存器内容。
6.根据权利要求5所述的方法,将所述当前操作系统能够识别的寄存器内容发送给所述当前操作系统,从而对所述当前操作系统所发出的异常事件进行应答。
7.根据权利要求1所述的方法,所述根据所述异常事件的异常类型和异常内容,确定要解决所述异常事件所需要的异常处理包括:当异常类型为跨系统应用异常并且异常内容为异常代码段时,利用运行环境对所述异常事件进行处理并且生成正确代码段。
8.根据权利要求7所述的方法,将所述正确代码段发送给所述当前操作系统,从而对所述当前操作系统所发出的异常事件进行应答。
9.根据权利要求1所述的方法,所述根据所述异常事件的异常类型和异常内容,确定要解决所述异常事件所需要的异常处理包括:当异常类型为指令异常并且异常内容为异常指令时,利用运行环境将所述异常指令转换为正确指令。
10.根据权利要求9所述的方法,将正确代码段发送给所述当前操作系统,从而对所述当前操作系统所发出的异常事件进行应答。
11.根据权利要求1所述的方法,当在所述当前操作系统中运行所述跨系统应用时,所述运行环境使得所述跨系统应用认为其运行在所述原始操作系统中。
12.根据权利要求1或11所述的方法,所述原始操作系统为Android系统,并且所述当前操作系统为Windows系统。
13.一种基于异常处理实现应用的跨系统运行的设备,所述设备包括:
初始化单元,在不安装虚拟机的情况下,在当前操作系统中建立用于运行跨系统应用的运行环境,所述运行环境使得所述跨系统应用处于与其在原始操作系统运行时相同的环境中;
异常捕获单元,捕获所述当前操作系统在运行所述跨系统应用时发出的异常事件,响应于所述异常事件,促使所述跨系统应用进入等待状态;以及
异常处理单元,根据所述异常事件的异常类型和异常内容,确定为解决所述异常事件所需要的异常处理,根据所述异常处理对所述当前操作系统所发出的异常事件进行处理,并且促使处于等待状态的所述跨系统应用退出等待状态以继续运行。
14.根据权利要求13所述的设备,所述异常事件能够使所述当前操作系统无法运行所述跨系统应用。
15.根据权利要求13所述的设备,当异常类型为系统调用异常并且异常内容为特定系统调用时,异常处理单元调用底层应用以获得底层应用返回的调用结果。
16.根据权利要求15所述的设备,异常处理单元将所述调用结果发送给所述当前操作系统,从而对所述当前操作系统所发出的异常事件进行应答。
17.根据权利要求13所述的设备,当异常类型为寄存器异常并且异常内容为寄存器内容时,异常处理单元进行寄存器转换并且将寄存器内容转换为所述当前操作系统能够识别的寄存器内容。
18.根据权利要求17所述的设备,异常处理单元将所述当前操作系统能够识别的寄存器内容发送给所述当前操作系统,从而对所述当前操作系统所发出的异常事件进行应答。
19.根据权利要求13所述的设备,当异常类型为跨系统应用异常并且异常内容为异常代码段时,异常处理单元利用运行环境对所述异常事件进行处理并且生成正确代码段。
20.根据权利要求19所述的设备,异常处理单元将所述正确代码段发送给所述当前操作系统,从而对所述当前操作系统所发出的异常事件进行应答。
21.根据权利要求13所述的设备,当异常类型为指令异常并且异常内容为异常指令时,异常处理单元利用运行环境将所述异常指令转换为正确指令。
22.根据权利要求21所述的设备,异常处理单元将正确代码段发送给所述当前操作系统,从而对所述当前操作系统所发出的异常事件进行应答。
23.根据权利要求13所述的设备,当在所述当前操作系统中运行所述跨系统应用时,所述运行环境使得所述跨系统应用认为其运行在所述原始操作系统中。
24.根据权利要求13或23所述的设备,所述原始操作系统为Android系统,并且所述当前操作系统为Windows系统。
25.一种移动终端,包括或用于执行如权利要求13-24中任意一项所述的设备。
CN201710193676.0A 2017-03-28 2017-03-28 一种基于异常处理实现应用的跨系统运行的方法及设备 Active CN106951337B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710193676.0A CN106951337B (zh) 2017-03-28 2017-03-28 一种基于异常处理实现应用的跨系统运行的方法及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710193676.0A CN106951337B (zh) 2017-03-28 2017-03-28 一种基于异常处理实现应用的跨系统运行的方法及设备

Publications (2)

Publication Number Publication Date
CN106951337A CN106951337A (zh) 2017-07-14
CN106951337B true CN106951337B (zh) 2020-09-11

Family

ID=59474771

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710193676.0A Active CN106951337B (zh) 2017-03-28 2017-03-28 一种基于异常处理实现应用的跨系统运行的方法及设备

Country Status (1)

Country Link
CN (1) CN106951337B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101599039A (zh) * 2008-06-03 2009-12-09 华为技术有限公司 嵌入式c语言环境下异常处理方法及装置
CN101859271A (zh) * 2009-04-08 2010-10-13 北京博越世纪科技有限公司 一项分级别异常处理技术
EP2423817A1 (en) * 2010-08-31 2012-02-29 Sap Ag Central cross-system pi monitoring dashboard
CN106293880A (zh) * 2016-08-10 2017-01-04 北京奇虎科技有限公司 在Windows系统上运行Android应用程序的方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101599039A (zh) * 2008-06-03 2009-12-09 华为技术有限公司 嵌入式c语言环境下异常处理方法及装置
CN101859271A (zh) * 2009-04-08 2010-10-13 北京博越世纪科技有限公司 一项分级别异常处理技术
EP2423817A1 (en) * 2010-08-31 2012-02-29 Sap Ag Central cross-system pi monitoring dashboard
CN106293880A (zh) * 2016-08-10 2017-01-04 北京奇虎科技有限公司 在Windows系统上运行Android应用程序的方法及装置

Also Published As

Publication number Publication date
CN106951337A (zh) 2017-07-14

Similar Documents

Publication Publication Date Title
CN107948744B (zh) 接口检测方法、接口检测设备及计算机可读存储介质
CN108874677B (zh) 一种安卓终端及其测试方法和系统
EP3432140A1 (en) Android-based pop-up prompt method and device
CN110933075B (zh) 服务调用方法、装置、电子设备及存储介质
CN111698319B (zh) 来电自动弹屏方法、装置及系统
CN110908704A (zh) 一种移动端跨平台原生功能的调用方法及装置
CN105786356A (zh) 一种应用的操作方法及装置
CN104750315A (zh) 一种触屏设备的控制方法、装置及触屏设备
CN110727473A (zh) 资源控制方法及装置、系统、存储介质和电子设备
CN106951337B (zh) 一种基于异常处理实现应用的跨系统运行的方法及设备
CN113993092A (zh) 一种紧急呼叫方法、装置、移动终端和网络侧设备
CN111913707B (zh) 运行进程的复用方法和装置
US20130113708A1 (en) Method and apparatus enabling keystroke acceleration
CN106951294B (zh) 一种用于为跨系统应用提供服务的方法及设备
KR20070048475A (ko) 이동통신 단말기의 오류 발생 정정 장치 및 방법
CN110659082A (zh) 应用程序界面的显示方法、装置、终端及存储介质
CN106598770B (zh) Android系统中Native层异常上报处理方法及装置
CN102360343A (zh) 通讯设备的中断扩展实现方法
CN109660585B (zh) Aop增强对象服务的调用方法、装置、设备及存储介质
CN107704279B (zh) 一种数据加载方法以及装置
CN106980553B (zh) 一种基于事件进行数据传递的方法及设备
CN112506515B (zh) 一种编译控制方法、终端及计算机可读存储介质
KR100598057B1 (ko) 인터럽트 핸들러 설정/해제에 따른 키 입력 검사 기능을가지는 무선통신단말기 및 그 방법
JP2007235763A (ja) 携帯電話装置
CN110995641A (zh) 骚扰信息识别方法、装置、电子设备及介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant