CN102004694B - 一种基于Java的异常处理方法和异常处理装置 - Google Patents
一种基于Java的异常处理方法和异常处理装置 Download PDFInfo
- Publication number
- CN102004694B CN102004694B CN 201010569157 CN201010569157A CN102004694B CN 102004694 B CN102004694 B CN 102004694B CN 201010569157 CN201010569157 CN 201010569157 CN 201010569157 A CN201010569157 A CN 201010569157A CN 102004694 B CN102004694 B CN 102004694B
- Authority
- CN
- China
- Prior art keywords
- cap file
- stack
- java
- handle
- cap
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明提供了一种基于Java的异常处理方法,包括以下步骤:建立CAP文件索引记录模块,用于记录CAP文件的索引信息;根据CAP文件索引记录模块中记录的索引信息来找到对应的CAP文件,遍历所述CAP文件的异常信息处理组并捕获异常。本发明的基于Java的异常处理方法,通过建立CAP文件索引记录模块来记录CAP文件的索引信息,当产生异常时,通过该索引信息来查找对应的CAP文件,通过遍历该CAP文件的异常处理信息组,便可以捕获异常降低了智能卡异常捕获处理的时延、提高了运行效率。本发明还提供一种基于Java的异常处理机制。
Description
技术领域
本发明涉及一种Java智能卡的数据处理技术,特别涉及一种基于Java的异常处理方法及异常处理装置。
背景技术
Java语言作为一种较为成熟的编程语言,被广泛应用到各种程序的编程中。例如,现有的电信智能卡大多使用Java语言编写应用程序,并将应用程序储存在智能卡中。随着计算机的日益普及和快速发展,人们对应用程序的功能提出越来越高的要求。伴随着功能的提高与加强,程序的复杂度也随之增加,由此导致程序的稳定性和可靠性下降,使程序在运行过程中会出现各种异常状况。为了跟踪、查找程序发生异常的确切位置,人们开发了多种捕获程序异常的方法。
一般来说Java智能卡的应用程序通过调用API(ApplicationProgramming Interface,应用程序编程接口)类数据包实现相应的功能。API类数据包(如Java.io,Java.lang等数据包)主要以CAP(Converted Applet Package,程序转换包)文件的格式下载到Java智能卡中。
每个CAP包都有自己的异常处理信息组,通常会通过遍历CAP包的异常处理信息组来对Java智能卡进行异常捕获。Java智能卡虚拟机规范中限定抛出异常时的字节码地址只可能在该字节码所属CAP包中的异常处理信息组中被捕获。因此除抛出异常时的字节码所属CAP包外,其他CAP包的异常处理信息组中是不可能捕获该异常的。当Java代码抛出异常时,传统的做法是根据各个CAP包在Java卡运行环境(JCRE,java card runtime environment)中的注册先后顺序依次分别遍历所有CAP包的异常处理信息组,直到异常被捕获。
很明显,对其他CAP包的异常处理信息组的遍历操作会延迟异常捕获的时间,并且当Java智能卡装载的CAP包越多,延迟时间也会越长,直接影响到Java虚拟机的执行性能。
发明内容
本发明所要解决的技术问题是提供一种基于Java的异常处理方法及异常处理装置,能够快速的查找到对应的CAP文件,避免了对Java智能卡上其他CAP文件异常处理信息组的遍历,降低了智能卡异常捕获处理的时延、提高了运行效率。
为了解决上述问题,本发明公开了一种基于Java的异常处理方法,包括以下步骤:
建立CAP文件索引记录模块,用于记录CAP文件的索引信息;
根据CAP文件索引记录模块中记录的索引信息来找到对应的CAP文件,遍历所述CAP文件的异常信息处理组并捕获异常;
其中,所述建立CAP文件索引记录模块包括:
建立与Java方法栈对应的CAP文件句柄栈,所述索引信息为CAP文件的句柄,所述CAP文件句柄栈中的栈顶元素为正在执行的Java方法所属的CAP文件的句柄;或包括建立全局注册表,所述索引信息包括CAP文件的句柄及该CAP文件的方法组件存储空间的地址范围,加载CAP文件的同时在全局注册表中增加CAP文件的索引信息。。
进一步地,所述建立与Java方法栈对应的CAP文件句柄栈的方法包括:
系统调用CAP文件中的Java方法并建立一个堆栈帧作为Java方法栈的栈内元素压入到Java方法栈中时,系统将与该方法对应的CAP文件的句柄作为CAP文件句柄栈的栈内元素压入到CAP文件句柄栈中。
进一步地,所述方法还包括在执行完CAP文件中的Java方法后,CAP文件句柄栈弹出其中与该Java方法对应的栈顶元素。
进一步地,所述方法还包括通过程序计数器记录的字节码地址来匹配全局注册表中记录的方法组件存储空间的地址范围,获取对应的CAP文件句柄。
为了解决上述问题,本发明还公开了一种基于Java的异常处理装置,包括:CAP文件索引记录模块,用于记录CAP文件的索引信息;异常处理接口,用于输出所述CAP文件索引记录模块所记录的索引信息;异常捕获模块,根据所述异常处理接口提供的CAP文件的索引信息找到对应的CAP文件,遍历所述CAP文件的异常信息处理组并进行异常捕获;其中,所述CAP文件索引记录模块为:与Java方法栈对应的CAP文件句柄栈,所述CAP文件句柄栈中的栈顶元素为正在执行的Java方法所属的CAP文件的句柄;或者全局注册表,所述全局注册表记载CAP文件的句柄及该CAP文件的方法组件存储空间地址范围。
进一步地,所述CAP文件句柄是指针。
与现有技术相比,本发明具有以下优点:
本发明的基于Java的异常处理方法及异常处理装置,通过建立CAP文件索引记录模块来记录CAP文件的索引信息,当产生异常时,通过该索引信息来查找对应的CAP文件,通过遍历该CAP文件的异常处理信息组,便可以捕获异常。
在具体实现上,通过建立于Java方法栈对应的CAP文件句柄栈或者全局注册表的方式,可以根据Java方法栈中的方法与CAP文件句柄栈中的句柄一一对应的关系或全局注册表中记载的method_component(方法组件)存储空间的地址范围来获取CAP文件的句柄,从而可以快速的查找到对应的CAP文件。避免了对Java智能卡上其他CAP文件异常处理信息组的遍历,降低了智能卡异常捕获处理的时延、提高了运行效率。
附图说明
图1是本发明的一种基于Java的异常处理方法实施一的流程图;
图2是本发明的一种基于Java的异常处理方法实施二的流程图;
图3-图4是本发明的一种基于Java的异常处理方法实施二的示意图;
图5是本发明的一种基于Java的异常处理方法实施三的流程图;
图6是本发明的一种基于Java的异常处理装置实施例一的示意图;
图7是本发明的一种基于Java的异常处理装置实施例二的示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
请参照图1,示出本发明的一种基于Java的异常处理方法实施一,包括以下步骤:
步骤101,建立CAP文件索引记录模块。
CAP文件索引记录模块用于记录CAP文件的索引信息,例如CAP文件的句柄。通过该索引信息可以查找到对应的CAP文件。CAP文件索引记录模块的形式并不限定,只要能记录CAP文件的位置,并通过该索引信息找到对应的CAP文件即可。例如,CAP文件索引记录模块可以是与Java方法栈对应的CAP文件句柄栈,也可以是一个全局注册表等等。
步骤102,根据CAP文件索引记录模块中的索引信息来找到对应的CAP文件,遍历所述CAP文件的异常信息处理组并捕获异常。
当Java代码抛出异常时,通过CAP文件索引记录模块中记录的CAP文件索引信息,找到对应的CAP文件,遍历该CAP文件中的异常处理信息组,捕获异常。
下面对上述方法进行进一步的说明。请参照图2,示出本发明的一种基于Java的异常处理方法实施二,包括以下步骤:
步骤201,建立与Java方法栈对应的CAP文件句柄栈。
CAP文件句柄栈中的句柄与Java方法栈中的方法一一对应,其中CAP文件的句柄可以是指针。Java卡规范包括Java卡虚拟机(JVM,java card virtual machine)和Java卡运行环境和Java卡应用编程接口三个部分。Java卡虚拟机维护一个PC(程序计数器)和一个方法栈。PC(程序计数器)存储当前要执行的指令(java字节码)的存储地址。Java方法栈保存了一个方法(function)调用时所需要的维护信息,一个方法调用所需要的维护信息称之为堆栈帧。堆栈帧一般包含如下几方面的信息:1.方法的返回地址和参数;2.临时变量:包括方法的非静态局部变量以及编译器自动生成的其他临时变量。
Java卡在接收到应用协议数据单元(APDU,Application ProtocolData Unit)后,由Java卡运行环境负责找到当前Applet的应用协议数据单元处理方法(Applet类的process方法),并初始化PC(程序计数器)为该方法的地第一条指令的地址,同时构造一个堆栈帧压入Java方法栈。因为是在Java卡运行环境中调用该方法,所以堆栈帧中方法返回地址信息指向Java卡运行环境。与此同时,将该方法所属CAP文件句柄压入CAP文件句柄栈。Applet的应用协议数据单元处理方法的方法体中可以嵌套调用方法,每一个方法调用都会构建一个堆栈帧作为Java方法栈的栈内元素并压入到Java方法栈。被调用的方法可以属于不同的CAP文件,因此我们在方法调用的同时将被调用方法所属CAP文件的句柄作为CAP文件句柄栈的栈内元素压入CAP文件句柄栈。CAP文件句柄栈中的栈顶元素为当前正在执行的Java方法所属的CAP文件的句柄。当一个方法结束时,Java虚拟机从Java方法栈中弹出一个堆栈帧,并初始化PC为该堆栈帧中记录的方法返回地址继续执行。与此同时,从CAP文件句柄栈中弹出一个CAP文件句柄。
步骤202,根据CAP文件句柄来找到对应的CAP文件,遍历该CAP文件的异常信息处理组并捕获异常。
若在执行某一个方法时,Java代码抛出异常,则此时可以根据上述Java方法栈与CAP文件句柄栈的对应关系,在CAP文件句柄栈找到该方法对应的CAP文件句柄,进而找到与该CAP文件句柄对应的CAP文件。通过遍历该CAP文件的异常处理信息组,则可以捕获异常。
下面结合一个具体的实例对本实施例进行详细的说明。
请参照图3,系统首先调用了CAP文件A中的方法a,在方法a的执行过程中调用了CAP文件B中的方法b;在方法b的执行过程中调用了CAP文件A中的方法a’。系统在调用CAP文件A中的方法a建立一个堆栈帧作为Java方法栈的栈内元素压入到Java方法栈中,同时,将与方法a对应的CAP文件A的句柄作为CAP文件句柄栈的栈内元素压入CAP文件句柄栈中。若在方法a执行过程中调用CAP文件B中的方法b时,同样会建立一个堆栈帧压入到Java方法栈中,同时,将CAP文件B的句柄压入CAP文件句柄栈中。同样的,对后续调用的CAP文件A中的方法a’也采用相同的方法将CAP文件A的句柄压入CAP文件句柄栈中。
请参照图4,当方法a’执行完成返回时,CAP文件句柄栈把栈顶元素弹出。若在方法b的执行的过程中抛出异常时,系统只需要获取CAP文件句柄栈的栈顶元素,即CAP文件B的句柄,然后遍历该CAP文件B的异常处理信息组,则可捕获异常。无需遍历其他的CAP文件。
请参照图5,示出本发明的一种基于Java的异常处理方法实施三,包括以下步骤:
步骤301,建立一个全局注册表。
建立的全局注册表中,每个CAP文件对应一个表项,每加载一个CAP文件就在全局注册表中增加一项,记录该CAP文件对应的文件句柄、method_component(方法组件)存储空间的起始地址及结束地址。CAP文件句柄是用于指针。
步骤302,根据全局注册表中CAP文件句柄和method_component(方法组件)存储空间地址范围,找到对应的CAP文件,捕获异常。
在java代码抛出异常后,遍历该全局注册表,用PC(程序计数器)记录的字节码地址来匹配全局注册表中记录的method_component(方法组件)地址范围,找到第一个匹配的注册表项,获取对应的CAP文件句柄。通过获取的CAP文件句柄找到与该CAP文件句柄对应的CAP文件及该CAP文件的异常处理信息组。通过遍历该CAP文件的异常处理信息组,则可以捕获异常。
下面结合一个具体实例对本实施例进行详细说明。
在CAP文件下载到Java智能卡上时,首先Java智能卡分配一段空间存储它:比如,CAP文件A在智能卡上的存储地址为:0x00000000–0x00003000。其中method_component(方法组件)存储空间的地址范围为:0x00001000–0x00002000。然后分配一个句柄“1”,用于标识CAP文件A。
因此,在加载CAP文件A时,就在全局注册表中加一个表项,其中内容为:
CAP文件A句柄=1;
method_component(方法组件)存储空间的起始地址:0x00001000;
method_component(方法组件)存储空间的结束地址:0x00002000。
若在执行CAP文件A的方法时,java代码抛出异常,则遍历该全局注册表,用PC(程序计数器)记录的字节码地址匹配注册表中记录的method_component(方法组件)存储空间地址范围为:0x00001000-0x00002000,从而获取对应的CAP文件句柄。通过获取的CAP文件句柄找到对应的CAP文件A及该CAP文件A的异常处理信息组。通过遍历CAP文件A的异常处理信息组,则可以捕获异常。
请参照图6,示出本发明的一种基于Java的异常处理装置实施例。该异常处理装置100包括CAP文件索引记录模块10、异常处理接口20、及异常捕获模块30。
CAP文件索引记录模块10可以是与Java方法栈对应的CAP文件句柄栈,也可以是一个全局注册表。用于记录CAP文件的句柄等索引信息,以快速的查找到对应的CAP文件。
当CAP文件索引记录模块10为CAP文件句柄栈时,里面所记录的是CAP文件句柄,每一个CAP文件句柄栈中的栈顶始终与当前Java方法所属CAP文件一致。当CAP文件索引记录模块10为全局注册表时,里面所记录的是CAP文件句柄及method_component(方法组件)存储空间的地址范围,通过method_component(方法组件)存储空间的地址范围来查找对应的CAP文件句柄。
异常处理接口20,用于输出CAP文件索引记录模块10中的记录信息。当CAP文件索引记录模块10为CAP文件句柄栈时,输出CAP文件句柄栈栈顶的CAP文件句柄对应的CAP文件。当CAP文件索引记录模块10为全局注册表时,输出与method_component(方法组件)存储空间的地址范围对应的CAP文件句柄。
异常捕获模块30,用于对异常进行捕获。异常处理接口20将CAP文件索引记录模块10中的记录信息输出给异常捕获模块30,该异常捕获模块30通过CAP文件句柄等信息来找到对应的CAP文件,通过遍历该CAP文件及其中的异常处理信息组来捕获异常。
请参照图7,进一步地,该异常处理装置100还包括程序计数器40,程序计数器40存储当前要执行的指令(java字节码)的存储地址。当产生异常时,通过程序计数器40中记录的字节码地址匹配全局注册表中记录的method_component(方法组件)地址范围,从而获取对应的CAP文件句柄,并将获取的句柄信息通过异常处理接口20传输给异常捕获模块30。
本发明的基于Java的异常处理方法及捕获装置通过建立CAP文件索引记录模块来记录CAP文件的索引信息,当产生异常时,通过该索引信息来查找对应的CAP文件,通过遍历该CAP文件的异常处理信息组,便可以捕获异常。在具体实现上,通过建立于Java方法栈对应的CAP文件句柄栈及全局注册表的方式,可以根据Java方法栈中的方法与CAP文件句柄栈中的句柄一一对应的关系或全局注册表中记载的method_component(方法组件)存储空间的地址范围来获取CAP文件的句柄,从而可以快速的查找到对应的CAP文件。避免了对Java智能卡上其他CAP文件异常处理信息组的遍历,降低了智能卡异常捕获处理的时延、提高了运行效率。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
以上对本发明所提供的一种基于Java的异常处理方法和异常处理装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (6)
1.一种基于Java的异常处理方法,其特征在于,包括以下步骤:
建立CAP文件索引记录模块,用于记录CAP文件的索引信息;
根据CAP文件索引记录模块中记录的索引信息来找到对应的CAP文件,遍历所述CAP文件的异常信息处理组并捕获异常。
其中,所述建立CAP文件索引记录模块包括:
建立与Java方法栈对应的CAP文件句柄栈,所述索引信息为CAP文件的句柄,所述CAP文件句柄栈中的栈顶元素为正在执行的Java方法所属的CAP文件的句柄;或
包括建立全局注册表,所述索引信息包括CAP文件的句柄及该CAP文件的方法组件存储空间的地址范围,加载CAP文件的同时在全局注册表中增加CAP文件的索引信息。
2.如权利要求1所述的方法,其特征在于,所述建立与Java方法栈对应的CAP文件句柄栈的方法包括:
系统调用CAP文件中的Java方法并建立一个堆栈帧作为Java方法栈的栈内元素压入到Java方法栈中时,系统将与该方法对应的CAP文件的句柄作为CAP文件句柄栈的栈内元素压入到CAP文件句柄栈中。
3.如权利要求2所述的方法,其特征在于,所述方法还包括在执行完CAP文件中的Java方法后,CAP文件句柄栈弹出其中与该Java方法对应的栈顶元素。
4.如权利要求1所述的方法,其特征在于,所述方法还包括通过程序计数器记录的字节码地址来匹配全局注册表中记录的方法组件存储空间的地址范围,获取对应的CAP文件句柄。
5.一种基于Java的异常处理装置,其特征在于,包括:
CAP文件索引记录模块,用于记录CAP文件的索引信息;
异常处理接口,用于输出所述CAP文件索引记录模块所记录的索引信息;
异常捕获模块,根据所述异常处理接口提供的CAP文件的索引信息找到对应的CAP文件,遍历所述CAP文件的异常信息处理组并进行异常捕获;
其中,所述CAP文件索引记录模块为:
与Java方法栈对应的CAP文件句柄栈,所述CAP文件句柄栈中的栈顶元素为正在执行的Java方法所属的CAP文件的句柄;或者
全局注册表,所述全局注册表记载CAP文件的句柄及该CAP文件的方法组件存储空间地址范围。
6.如权利要求5所述的异常处理装置,其特征在于,所述CAP文件句柄是指针。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010569157 CN102004694B (zh) | 2010-11-26 | 2010-11-26 | 一种基于Java的异常处理方法和异常处理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010569157 CN102004694B (zh) | 2010-11-26 | 2010-11-26 | 一种基于Java的异常处理方法和异常处理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102004694A CN102004694A (zh) | 2011-04-06 |
CN102004694B true CN102004694B (zh) | 2013-04-24 |
Family
ID=43812070
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010569157 Expired - Fee Related CN102004694B (zh) | 2010-11-26 | 2010-11-26 | 一种基于Java的异常处理方法和异常处理装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102004694B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102262537B (zh) * | 2011-07-21 | 2014-10-29 | 复旦大学 | 一种工作于混合模式执行引擎中的异常处理方法 |
CN103440175A (zh) * | 2013-08-06 | 2013-12-11 | 北京数码视讯科技股份有限公司 | 智能卡的异常处理方法及装置 |
CN110008134A (zh) * | 2019-04-18 | 2019-07-12 | 上海计算机软件技术开发中心 | 一种Java卡标准API安全性测试方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101566967A (zh) * | 2009-06-03 | 2009-10-28 | 哈尔滨工程大学 | 针对java字节码文件的快速自动修改方法 |
CN101599039A (zh) * | 2008-06-03 | 2009-12-09 | 华为技术有限公司 | 嵌入式c语言环境下异常处理方法及装置 |
CN101853189A (zh) * | 2010-05-26 | 2010-10-06 | 北京航空航天大学 | 一种基于Java的异常处理装置及其异常处理方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6848111B1 (en) * | 1999-02-02 | 2005-01-25 | Sun Microsystems, Inc. | Zero overhead exception handling |
CN101192192B (zh) * | 2006-11-21 | 2010-08-18 | 华为技术有限公司 | 用于实时操作系统的任务异常诊断方法及系统 |
US20100269091A1 (en) * | 2009-04-20 | 2010-10-21 | International Business Machines Corporation | Jvm exception debugging |
-
2010
- 2010-11-26 CN CN 201010569157 patent/CN102004694B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101599039A (zh) * | 2008-06-03 | 2009-12-09 | 华为技术有限公司 | 嵌入式c语言环境下异常处理方法及装置 |
CN101566967A (zh) * | 2009-06-03 | 2009-10-28 | 哈尔滨工程大学 | 针对java字节码文件的快速自动修改方法 |
CN101853189A (zh) * | 2010-05-26 | 2010-10-06 | 北京航空航天大学 | 一种基于Java的异常处理装置及其异常处理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102004694A (zh) | 2011-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Oakes et al. | {SOCK}: Rapid task provisioning with {Serverless-Optimized} containers | |
CN102722432B (zh) | 追踪内存访问的方法和装置 | |
US20160140029A1 (en) | Efficient method data recording | |
US10909029B2 (en) | Managing memory in a computer system | |
CN102810070A (zh) | 高性能业务能力封装流程引擎及其流程控制方法 | |
US20220292082A1 (en) | Method, apparatus and device for parallel execution of smart contract, and medium | |
CN112099800B (zh) | 代码数据的处理方法、装置和服务器 | |
CN110321275A (zh) | 程序监控方法、装置、计算设备以及存储介质 | |
US20050044540A1 (en) | Method and apparatus for object-to-object Java native interface mapping | |
CN106649120A (zh) | 一种数据获取方法、分析方法及系统 | |
CN102004694B (zh) | 一种基于Java的异常处理方法和异常处理装置 | |
CN107544298A (zh) | 一种摄像头调用方法和装置 | |
CN102209016B (zh) | 一种数据处理方法、装置和数据处理系统 | |
CN112667305A (zh) | 页面展示方法及装置 | |
WO2001084303A1 (fr) | Procede et systeme de traitement d'informations | |
CN107153561A (zh) | 一种更新扩展卡中固件的方法、装置及系统 | |
CN111309402B (zh) | 数据监测及针对应用程序的处理方法、装置及设备 | |
US7712093B1 (en) | Determining intra-procedural object flow using enhanced stackmaps | |
CN104375871A (zh) | 一种基于eMMC加速系统开机的方法和装置 | |
US10296363B2 (en) | Tuning a virtual machine startup parameter | |
CN105407075B (zh) | 业务逻辑的实现方法和系统 | |
CN110737465B (zh) | 一种函数调用路径获取的方法和相关装置 | |
CN104572649B (zh) | 分布式存储系统的数据的处理方法、装置及系统 | |
CN104808968B (zh) | 全局数据的存储、上报方法与装置和系统 | |
CN115103060A (zh) | 手机应用程序的功能跳转拦截方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: 100015 Beijing city Chaoyang District Dongzhimen West eight Street No. 2 room Wanhong Yan Dong Business Garden Patentee after: BEIJING WATCHDATA Co.,Ltd. Address before: 100015 Beijing city Chaoyang District Dongzhimen West eight Street No. 2 room Wanhong Yan Dong Business Garden Patentee before: BEIJING WATCH DATA SYSTEM Co.,Ltd. |
|
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130424 Termination date: 20211126 |