CN103914366B - 一种自动监测应用程序进行内存信息的方法及装置 - Google Patents
一种自动监测应用程序进行内存信息的方法及装置 Download PDFInfo
- Publication number
- CN103914366B CN103914366B CN201310002004.9A CN201310002004A CN103914366B CN 103914366 B CN103914366 B CN 103914366B CN 201310002004 A CN201310002004 A CN 201310002004A CN 103914366 B CN103914366 B CN 103914366B
- Authority
- CN
- China
- Prior art keywords
- memory information
- file
- information
- timer
- curve map
- 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
Links
Landscapes
- Debugging And Monitoring (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提出一种自动监测应用程序内存信息的方法和装置,其中方法包括:当预先设置的针对信息记录的第一计时器到期时,将内存信息保存入文件,并将所述第一计时器置为0,重新开始计时;当预先设置的针对绘图的第二计时器到期时,采用所述文件中的内存信息绘制内存信息曲线图,并将所述第二计时器置为0,重新开始计时。本发明能够自动实现对应用程序内存信息的监测,节约人力和时间成本,消除误操作的风险。
Description
技术领域
本发明涉及内存监测技术领域,尤其涉及一种自动监测应用程序内存信息的方法及装置。
背景技术
现有对应用程序进行内存监测的方案主要分为两种,一种是针对应用程序整体的内存监控,一种是针对应用程序局部操作的内存监控。
以安卓(Android)应用程序为例,Android程序内存被分为2部分:native和dalvik,dalvik即为堆,创建的对象在这里进行分配。dalvik的值用堆的大小(Heapsize)表示。监测Heapsize的方式如下:
第一种,对应用程序整体的内存监控,操作步骤如下:对应用程序进行常规功能测试,每隔一段时间(时间可以根据需要人为设定,比如1分钟,3分钟,5分钟)使用Dalvik虚拟机调试监控服务(DDMS,Dalvik Debug Monitor Service)或者命令行,查看heapsize的值并记录到一个新的excel表格或者txt文档中。测试一段时间后(一般为3-4小时),根据excel或者txt文档的数据,画出heapsize随时间变化的曲线图,分析应用程序是否有内存泄露的风险。一般情况下,若heapsize曲线随着时间整体是上升趋势,则说明应用程序有内存溢出(OOM)的风险。
第二种,对应用程序局部操作的内存监控,操作步骤如下:对应用程序的某个局部操作(比如点击某个按钮,者滑动页面,或者几个操作的组合等)进行测试,每进行一次操作后,使用DDMS或者命令行,查看heapsize的值并记录到一个新的excel表格或者txt文档中。测试一段时间后(一般为10-15分钟),根据excel或者txt文档的数据,画出heapsize随时间变化的曲线图,分析该局部操作是否会有导致应用程序发生内存泄露的风险。一般情况下,若heapsize曲线随着时间整体是上升趋势,则说明该局部操作有导致应用程序发生内存溢出(OOM)的风险。
上述监测过程中,记录内存信息和绘图的步骤是由测试人员人工执行的,因此会消耗大量的人力和时间成本,并存在误操作的潜在风险。
发明内容
本发明提供了一种自动监测应用程序内存信息的方法和装置,能够自动实现对应用程序内存信息的监测,节约人力和时间成本,消除误操作的风险。
本发明的技术方案是这样实现的:
一种自动监测应用程序内存信息的方法,包括:
当预先设置的针对信息记录的第一计时器到期时,将内存信息保存入文件,并将所述第一计时器置为0,重新开始计时;
当预先设置的针对绘图的第二计时器到期时,采用所述文件中的内存信息绘制内存信息曲线图,并将所述第二计时器置为0,重新开始计时。
上述方法中,所述当第一计时器到期时将内存信息保存入文件之前进一步包括:按照预先设定的周期监测应用程序,获取所述应用程序的内存信息,将获取的内存信息以末尾增加的方式保存在数组中;
当预先设置的第一计时器到期时,将所述数组中的内存信息保存入文件,并将所述数组中的内容删除。
上述方法中,将内存信息保存入文件的方式为:当所述第一计时器第一次到期时,创建新的文件,将内存信息保存入所述文件;当所述第一计时器再次到期时,在所述文件原有内容的基础上继续写入内存信息。
上述方法中,采用文件中的内存信息绘制内存信息曲线图的方式为:当所述第二计时器第一次到期时,采用文件中的内存信息绘制内存信息曲线图,保存所述内存信息曲线图;当所述第二计时器再次到期时,采用文件中的内存信息绘制内存信息曲线图,保存所述内存信息曲线图,并删除前一次保存的内存信息曲线图。
上述方法中,应用程序的内存信息可以为安卓(Android)程序的堆大小(Heapsize)信息;
获取应用程序的内存信息的方式可以为:使用Dalvik虚拟机调试监控服务(DDMS)或者命令行获取Android程序的Heapsize信息;
所述文件的格式为:.xls格式或.txt格式;
所述内存信息曲线图的格式为:.png格式或.jpg格式。
一种自动监测应用程序内存信息的装置,包括:
保存模块,用于当预先设置的针对信息记录的第一计时器到期时,将内存信息保存入文件,并将所述第一计时器置为0,重新开始计时;
绘图模块,用于当预先设置的针对绘图的第二计时器到期时,采用所述文件中的内存信息绘制内存信息曲线图,并将所述第二计时器置为0,重新开始计时。
上述装置还包括:信息获取模块,用于按照预先设定的周期监测应用程序,获取所述应用程序的内存信息,将获取的内存信息以末尾增加的方式保存在数组中;
所述保存模块在预先设置的第一计时器到期时,将所述数组中的内存信息保存入文件,并将所述数组中的内容删除。
上述装置中,保存模块将内存信息保存入文件的方式为:当所述第一计时器第一次到期时,保存模块创建新的文件,将内存信息保存入所述文件;当所述第一计时器再次到期时,保存模块在所述文件原有内容的基础上继续写入内存信息。
上述装置中,绘图模块采用文件中的内存信息绘制内存信息曲线图的方式为:当所述第二计时器第一次到期时,绘图模块采用文件中的内存信息绘制内存信息曲线图,保存所述内存信息曲线图;当所述第二计时器再次到期时,绘图模块采用文件中的内存信息绘制内存信息曲线图,保存所述内存信息曲线图,并删除前一次保存的内存信息曲线图。
上述装置中,应用程序的内存信息可以为安卓(Android)程序的堆大小(Heapsize)信息;
所述信息获取模块使用Dalvik虚拟机调试监控服务(DDMS)或者命令行获取Android程序的Heapsize信息;
所述文件的格式为:.xls格式或.txt格式;
所述内存信息曲线图的格式为:.png格式或.jpg格式。
可见,本发明提出的自动监测应用程序内存信息的方法和装置,通过设置定时器,自动记录应用程序的内存信息并绘图,从而实现节约人力和时间成本,消除误操作的风险。
附图说明
图1为本发明提出的自动监测应用程序内存信息的方法流程图;
图2为本发明实施例一中获取内存信息的实现流程图;
图3为监测工具界面示意图;
图4为本发明实施例一中记录内存信息的实现流程图;
图5为本发明实施例一中绘制曲线图的实现流程图;
图6为本发明提出的自动监测应用程序内存信息的装置结构示意图。
具体实施方式
本发明提出一种自动监测应用程序内存信息的方法,如图1为本发明提出的方法流程图,包括:
步骤101:当预先设置的针对信息记录的第一计时器到期时,将内存信息保存入文件,并将所述第一计时器置为0,重新开始计时;
步骤102:当预先设置的针对绘图的第二计时器到期时,采用所述文件中的内存信息存信息曲线图,并将所述第二计时器置为0,重新开始计时。
上述步骤101中的内存信息可以是预先获取并保存在数组中的,即,当第一计时器到期时将内存信息保存入文件之前进一步包括:按照预先设定的周期监测应用程序,获取所述应用程序的内存信息,将获取的内存信息以末尾增加的方式保存在数组中;
当预先设置的第一计时器到期时,将所述数组中的内存信息保存入文件,并将所述数组中的内容删除。
上述步骤101中,将内存信息保存入文件的方式可以为:当第一计时器第一次到期时,创建新的文件,将内存信息保存入所述文件;当第一计时器再次到期时,在所述文件原有内容的基础上继续写入内存信息。这里的文件可以是.xls格式或者.txt等格式。
本发明每次从数组中获取的内存信息都保存在同一个文件中,相比现有技术中将每次获取的内存信息分别保存在不同文件中的方式,本发明的存储方式更便于后续绘制内存信息曲线图。
上述步骤102中,采用文件中的内存信息绘制内存信息曲线图的方式可以为:当第二计时器第一次到期时,采用文件中的内存信息绘制内存信息曲线图,保存所述内存信息曲线图;当第二计时器再次到期时,采用文件中的内存信息绘制内存信息曲线图,保存所述内存信息曲线图,并删除前一次保存的内存信息曲线图。这里的曲线图可以是.png格式或者.jpg等格式。
上述方法中,应用程序的内存信息可以为Android程序的Heapsize信息;
相应地,获取应用程序的内存信息的方式可以为:使用DDMS或者命令行获取Android程序的Heapsize信息。
本发明采用间隔式绘图,即从保存内存信息开始后每隔一段时间进行一次绘图。由于内存信息的监控需要一段时间,实时监控在开始阶段由于数据量不足不能很好地体现内存的整体变化;相比现有技术中获取到内存信息后立即绘图的方式,本发明采用的绘图方式能够弥补初期数据量不充分的问题。
以下举具体的实施例详细介绍。
实施例一:
在本实施例中,以监测Android程序的Heapsize信息为例进行介绍。包括以下几个部分:
第一部分,如图2为本发明实施例一中获取内存信息的实现流程图。包括:
步骤201:将移动设备与PC连接,输入待监测应用程序的包名,点击“开始监控”按钮。如图3为监测工具界面示意图。
步骤202:每间隔30秒时间获取一次内存信息(间隔时间可以根据需要灵活调整),采用DDMS或者命令行获取Android程序的内存信息,将内存信息中的Heapsize信息分离后以末尾增加的方式保存在数组A中。同时,将针对信息记录的计时器T1及针对绘图的第二计时器T2置为0,开始计时。
第二部分,如图4为本发明实施例一中记录内存信息的实现流程图。包括:
步骤401:判断T1是否达到2分钟(本实施例以2分钟为例,具体数值可以根据需要调整),如果达到,则执行步骤402。
步骤402:自动将数组A中保存的Heapsize信息写入excel表格中,删除数组A中的数据,并将T1置为0,重新执行步骤401。
每次T1到期时,将Heapsize信息写入同一个excel表格中。
第三部分,如图5为本发明实施例一中绘制曲线图的实现流程图。包括:
步骤501:判断T2是否达到5分钟(本实施例以5分钟为例,具体数值可以根据需要调整),如果达到,则执行步骤502。
步骤502:自动将excel表格中的数据进行Heapsize曲线图的绘制,并保存为.png格式,删除前一次保存的.png格式图片;同时,将T2置为0,重新执行步骤501。
在本实施例中,T1和T2可以根据实际需要进行设置,如T1=3m,T2=10m。此外,保存格式也可以根据实际需要进行选择,如将数据保存为.txt格式,图片保存为.jpg格式。通过绘制的Heapsize曲线图,可以分析该Android程序是否有内存溢出的危险,一般情况下,若Heapsize曲线随着时间整体上是上升趋势,则说明该Android程序有内存溢出(00M)的风险。
采用本实施例提出的方式,可以自动记录Android程序的Heapsize信息,并自动采用该Heapsize信息绘制曲线图,由于整个过程是自动执行的,节约了时间和人力的消耗,并排除了人为误操作的风险;同时,由于生成统一格式的表格和曲线图,利于多个迭代数据和图标格式的统一性,利于应用程序进行纵向对比。
本发明还提出一种自动监测应用程序内存信息的装置,如图6为该装置结构示意图,包括:
保存模块601,用于当预先设置的针对信息记录的第一计时器到期时,将内存信息保存入文件,并将所述第一计时器置为0,重新开始计时;
绘图模块602,用于当预先设置的针对绘图的第二计时器到期时,采用所述文件中的内存信息绘制内存信息曲线图,并将所述第二计时器置为0,重新开始计时。
上述装置还包括:
信息获取模块603,用于按照预先设定的周期监测应用程序,获取所述应用程序的内存信息,将获取的内存信息以末尾增加的方式保存在数组中;
所述保存模块601在预先设置的第一计时器到期时,将所述数组中的内存信息保存入文件,并将所述数组中的内容删除。
所述保存模块601将内存信息保存入文件的方式为:
当所述第一计时器第一次到期时,保存模块创建新的文件,将内存信息保存入所述文件;
当所述第一计时器再次到期时,保存模块在所述文件原有内容的基础上继续写入内存信息。
所述绘图模块602采用文件中的内存信息绘制内存信息曲线图的方式为:
当所述第二计时器第一次到期时,绘图模块采用文件中的内存信息绘制内存信息曲线图,保存所述内存信息曲线图;
当所述第二计时器再次到期时,绘图模块采用文件中的内存信息绘制内存信息曲线图,保存所述内存信息曲线图,并删除前一次保存的内存信息曲线图
上述装置中,应用程序的内存信息可以为Android程序的Heapsize信息;
信息获取模块603使用DDMS或者命令行获取Android程序的Heapsize信息;
所述文件的格式可以为:.xls格式或.txt格式;
所述内存信息曲线图的格式可以为:.png格式或.jpg格式。
综上可见,本发明提出的自动监测应用程序内存信息的方法和装置,通过设置定时器,自动记录应用程序的内存信息并绘图,从而实现节约人力和时间成本,消除误操作的风险。并且,本发明将每次提取的内存信息统一保存在一个文件中,方便后续绘图;采用间隔式获取的方式,能够弥补初期数据量不充分的问题。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (8)
1.一种自动监测应用程序内存信息的方法,其特征在于,所述方法包括:
当预先设置的针对信息记录的第一计时器到期时,将内存信息保存入文件,并将所述第一计时器置为0,重新开始计时;
当预先设置的针对绘图的第二计时器到期时,采用所述文件中的内存信息绘制内存信息曲线图,并将所述第二计时器置为0,重新开始计时;
所述采用文件中的内存信息绘制内存信息曲线图的方式为:
当所述第二计时器第一次到期时,采用文件中的内存信息绘制内存信息曲线图,保存所述内存信息曲线图;
当所述第二计时器再次到期时,采用文件中的内存信息绘制内存信息曲线图,保存所述内存信息曲线图,并删除前一次保存的内存信息曲线图。
2.根据权利要求1所述的方法,其特征在于,所述当第一计时器到期时将内存信息保存入文件之前进一步包括:按照预先设定的周期监测应用程序,获取所述应用程序的内存信息,将获取的内存信息以末尾增加的方式保存在数组中;
当预先设置的第一计时器到期时,将所述数组中的内存信息保存入文件,并将所述数组中的内容删除。
3.根据权利要求1或2所述的方法,其特征在于,所述将内存信息保存入文件的方式为:
当所述第一计时器第一次到期时,创建新的文件,将内存信息保存入所述文件;
当所述第一计时器再次到期时,在所述文件原有内容的基础上继续写入内存信息。
4.根据权利要求2所述的方法,其特征在于,所述应用程序的内存信息为安卓Android程序的堆大小Heapsize信息;
所述获取应用程序的内存信息的方式为:使用Dalvik虚拟机调试监控服务DDMS或者命令行获取Android程序的Heapsize信息;
所述文件的格式为:.xls格式或.txt格式;
所述内存信息曲线图的格式为:.png格式或.jpg格式。
5.一种自动监测应用程序内存信息的装置,其特征在于,所述装置包括:
保存模块,用于当预先设置的针对信息记录的第一计时器到期时,将内存信息保存入文件,并将所述第一计时器置为0,重新开始计时;
绘图模块,用于当预先设置的针对绘图的第二计时器到期时,采用所述文件中的内存信息绘制内存信息曲线图,并将所述第二计时器置为0,重新开始计时;
所述绘图模块采用文件中的内存信息绘制内存信息曲线图的方式为:
当所述第二计时器第一次到期时,绘图模块采用文件中的内存信息绘制内存信息曲线图,保存所述内存信息曲线图;
当所述第二计时器再次到期时,绘图模块采用文件中的内存信息绘制内存信息曲线图,保存所述内存信息曲线图,并删除前一次保存的内存信息曲线图。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括:
信息获取模块,用于按照预先设定的周期监测应用程序,获取所述应用程序的内存信息,将获取的内存信息以末尾增加的方式保存在数组中;
所述保存模块在预先设置的第一计时器到期时,将所述数组中的内存信息保存入文件,并将所述数组中的内容删除。
7.根据权利要求5或6所述的装置,其特征在于,所述保存模块将内存信息保存入文件的方式为:
当所述第一计时器第一次到期时,保存模块创建新的文件,将内存信息保存入所述文件;
当所述第一计时器再次到期时,保存模块在所述文件原有内容的基础上继续写入内存信息。
8.根据权利要求5所述的装置,其特征在于,所述应用程序的内存信息为安卓Android程序的堆大小Heapsize信息;
所述信息获取模块使用Dalvik虚拟机调试监控服务DDMS或者命令行获取Android程序的Heapsize信息;
所述文件的格式为:.xls格式或.txt格式;
所述内存信息曲线图的格式为:.png格式或.jpg格式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310002004.9A CN103914366B (zh) | 2013-01-05 | 2013-01-05 | 一种自动监测应用程序进行内存信息的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310002004.9A CN103914366B (zh) | 2013-01-05 | 2013-01-05 | 一种自动监测应用程序进行内存信息的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103914366A CN103914366A (zh) | 2014-07-09 |
CN103914366B true CN103914366B (zh) | 2017-05-31 |
Family
ID=51040068
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310002004.9A Active CN103914366B (zh) | 2013-01-05 | 2013-01-05 | 一种自动监测应用程序进行内存信息的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103914366B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105808219B (zh) * | 2014-12-29 | 2019-06-25 | 中国移动通信集团公司 | 一种内存空间分配方法及装置 |
CN104732139A (zh) * | 2015-02-04 | 2015-06-24 | 深圳市中兴移动通信有限公司 | 一种内存监控方法及终端 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1538300A (zh) * | 2003-09-23 | 2004-10-20 | 中兴通讯股份有限公司 | 一种实现嵌入式实时系统内存泄漏检测和定位的方法 |
CN1752941A (zh) * | 2004-09-20 | 2006-03-29 | 华为技术有限公司 | 一种内存监控的装置及方法 |
CN1904850A (zh) * | 2006-08-04 | 2007-01-31 | 上海科泰世纪科技有限公司 | 对嵌入式操作系统的性能信息进行实时监测的方法 |
CN101221527A (zh) * | 2007-01-08 | 2008-07-16 | 上海宇梦通信科技有限公司 | Linux平台物理内存信息监测系统 |
CN101561775A (zh) * | 2009-05-12 | 2009-10-21 | 华为技术有限公司 | 内存监控方法和装置 |
CN101599048A (zh) * | 2009-07-01 | 2009-12-09 | 福建星网锐捷网络有限公司 | 一种内存监控的方法和装置 |
CN101876932A (zh) * | 2009-11-30 | 2010-11-03 | 中国移动通信集团浙江有限公司 | 内存数据库监控的方法、系统及设备 |
US7991961B1 (en) * | 2007-10-15 | 2011-08-02 | Oracle America, Inc. | Low-overhead run-time memory leak detection and recovery |
US8136124B2 (en) * | 2007-01-18 | 2012-03-13 | Oracle America, Inc. | Method and apparatus for synthesizing hardware counters from performance sampling |
-
2013
- 2013-01-05 CN CN201310002004.9A patent/CN103914366B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1538300A (zh) * | 2003-09-23 | 2004-10-20 | 中兴通讯股份有限公司 | 一种实现嵌入式实时系统内存泄漏检测和定位的方法 |
CN1752941A (zh) * | 2004-09-20 | 2006-03-29 | 华为技术有限公司 | 一种内存监控的装置及方法 |
CN1904850A (zh) * | 2006-08-04 | 2007-01-31 | 上海科泰世纪科技有限公司 | 对嵌入式操作系统的性能信息进行实时监测的方法 |
CN101221527A (zh) * | 2007-01-08 | 2008-07-16 | 上海宇梦通信科技有限公司 | Linux平台物理内存信息监测系统 |
US8136124B2 (en) * | 2007-01-18 | 2012-03-13 | Oracle America, Inc. | Method and apparatus for synthesizing hardware counters from performance sampling |
US7991961B1 (en) * | 2007-10-15 | 2011-08-02 | Oracle America, Inc. | Low-overhead run-time memory leak detection and recovery |
CN101561775A (zh) * | 2009-05-12 | 2009-10-21 | 华为技术有限公司 | 内存监控方法和装置 |
CN101599048A (zh) * | 2009-07-01 | 2009-12-09 | 福建星网锐捷网络有限公司 | 一种内存监控的方法和装置 |
CN101876932A (zh) * | 2009-11-30 | 2010-11-03 | 中国移动通信集团浙江有限公司 | 内存数据库监控的方法、系统及设备 |
Non-Patent Citations (1)
Title |
---|
Android应用程序中的内存泄露与规避方法;尹文刚 等;《单片机与嵌入式系统应用》;20120630(第6期);第4-6页 * |
Also Published As
Publication number | Publication date |
---|---|
CN103914366A (zh) | 2014-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110442511B (zh) | 可视化埋点测试方法及装置 | |
CN101320350B (zh) | 一种性能监控方法及装置 | |
CN108959059B (zh) | 一种测试方法以及测试平台 | |
CN105446878A (zh) | 一种持续的程序自动化测试方法 | |
CN106681913A (zh) | 一种应用卡顿定位系统及方法 | |
CN103634441B (zh) | 一种测试移动终端的方法及装置 | |
CN105446864B (zh) | 缓存文件删除影响的校验方法、装置及移动终端 | |
CN102479084A (zh) | 一种Android终端获取日志的方法及装置 | |
CN104461846B (zh) | 检测应用程序耗电量的方法和装置 | |
CN104572422A (zh) | 一种基于Linux系统开关机下内存监测实现方法 | |
CN104503910A (zh) | 通过监测用户使用行为对产品进行测试的方法 | |
CN110008129A (zh) | 一种存储定时快照的可靠性测试方法、装置及设备 | |
CN103034571A (zh) | 手持式电子产品的读写测试方法 | |
CN105808417A (zh) | 自动化测试方法及代理服务器 | |
CN106649024A (zh) | 一种应用性能实时监控方法及装置 | |
CN103914366B (zh) | 一种自动监测应用程序进行内存信息的方法及装置 | |
CN104951400A (zh) | 对产品进行测试的方法和装置 | |
CN108268376A (zh) | 一种基于linux平台测试进度自动化统计方法 | |
CN107807844B (zh) | 交通测试场景的生成方法、装置及计算机可读存储介质 | |
CN115629968A (zh) | 一种测试数据记录方法和装置 | |
CN106919501A (zh) | 基于缺陷模式的静态分析方法和工具 | |
CN111240967A (zh) | 一种代码生成方法及装置 | |
CN106341684A (zh) | 一种自动生成安卓电视测试脚本的方法及系统 | |
CN113704099A (zh) | 一种用于航天器电源系统评测的测试脚本生成方法及设备 | |
CN103699482B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |