CN105912541A - 一种对数据库操作进行批处理的方法和装置 - Google Patents
一种对数据库操作进行批处理的方法和装置 Download PDFInfo
- Publication number
- CN105912541A CN105912541A CN201510921288.0A CN201510921288A CN105912541A CN 105912541 A CN105912541 A CN 105912541A CN 201510921288 A CN201510921288 A CN 201510921288A CN 105912541 A CN105912541 A CN 105912541A
- Authority
- CN
- China
- Prior art keywords
- database manipulation
- database
- applybatch
- batch processing
- out batch
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
- G06F16/2386—Bulk updating operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/211—Schema design and management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
Abstract
本发明实施例提供一种对数据库操作进行批处理的方法和装置,其中方法包括:收集数据库操作,并将数据库操作发送给内容提供者提供的applyBatch;通过applyBatch对数据库操作进行批处理;如果当前处理批次的数据库操作对数据库修改没有成功,则查找符合预设条件的分割点yield point,根据查找到的yield point将所述当前处理批次的数据库操作进行划分,并将划分后的数据库操作发送给applyBatch进行批处理,直到当前处理批次的数据库操作对数据库修改成功。本发明实施例能够在收集数据库操作集合applyBatch时,动态的查找到最佳的分区集合,既保证了安全,又保证了效率。
Description
技术领域
本发明实施例涉及数据处理技术领域,尤其涉及一种对数据库操作进行批处理的方法和装置。
背景技术
内容提供者(Contentprovider)是android的四大组件之一,它为存储和获取数据提供统一的接口,可以在不同的应用程序之间共享数据。
ContentProvider将数据的访问方式统一,不必针对不同数据类型采取不同的访问策略,通常ContentProvider使用表的形式来组织数据,无论数据的来源是什么,ContentProvider都会默认为是一种表,然后把数据组织形成表格。
ContentProvider提供的数据库操作包括:
query查询;
insert插入;
update更新;
delete删除;
getType得到数据类型;
onCreate创建数据时调用的回调函数。
使用ContentProvider的applyBatch(String authority,ArrayList<ContentProviderOperation>operations)可以将多个数据库操作在一个事务中执行。
批处理applyBatch,用于把一批新增、修改、删除的请求放到一个transaction事务中,在一个transaction事务向ContentProvider发送一批命令,节省了在处理数据库以及线程的上下文切换时间,使得数据库操作更快更高效。
对于批处理applyBatch,一批处理多少个数据项非常重要。如果设置的数量很小,效率不高,则没有充分减小上下文切换的损耗,但是如果设置的数量很大,则很可能发生TransactionTooLargeException的异常,导致任务失败。
TransactionTooLargeException是由于传输的数据太大导致的异常,例如如果Binder的参数或返回值太大,不适合的事务缓冲区,然后调用将失败,并将被抛出TransactionTooLargeException。
此外,因为批量操作一大堆数据可能会长期锁定数据库,从而阻止其他应用访问该数据库,有可能会引起应用程序无响应(ANR,Application Not Responding)对话框出现。
为了避免此错误,需要在批量操作中添加分割点(yield points),yield points告诉ContentProvider,在执行下一个操作之前可以先提交当前的数据,然后通知其他应用,如果有其他应用请求数据的话,就先让其他应用操作,等其他应用操作完成后,再继续执行下一个操作。如果没有其他程序请求数据,则yield points不会自动提交事务,而是继续执行下一个批量操作。
通常,ContentProvider要求每个yield points的操作不能多于500个,并且这批操作数据的也不能太大,例如最大通常限制为1M。也就是说,如果所有的数据大小加起来超过1M的话,是不行的,否则会出现transactionTooLargeException的异常。
为了防止出现TransactionTooLargeException,在现有技术中通常采用一下的方法:
方法一:把数据库操作的个数设置为很小的一个定值。
但是,设置为很小的一个定值使得效率不高,很可能每一个数据库操作都比较小,应该设置更多的操作数量。
方法二:对数据操作循环累加判断,每次都判断是否溢出导致错误。
但是,循环操作中算数据库操作大小的时候浪费了时间。每个数据的大小都不一样,有的大,有的小,所以可能一个集合A有10个数据,一个集合B有20个数据,但是A的大小却比B大。
方法三:先用最大个数操作,一旦出现TransactionTooLargeException,会把数据库操作集合根据yield points分开,再操作再分开,一直到不出错为止。有多少个yield points操作就把集合切割成多少小集合。
但是,一旦出错,如果yield points的操作很多,切割的小组数会非常多,每组又特别小,导致效率非常低。
发明内容
本发明实施例提供一种对数据库操作进行批处理的方法和装置,在收集数据库操作集合applyBatch时,动态的查找到最佳的分区集合,既保证了安全,又保证了效率。
本发明实施例提供一种对数据库操作进行批处理的方法,包括:
收集数据库操作,并将数据库操作发送给内容提供者提供的applyBatch;
通过applyBatch对数据库操作进行批处理;
如果当前处理批次的数据库操作对数据库修改没有成功,则查找符合预设条件的分割点yield point,根据查找到的yield point将所述当前处理批次的数据库操作进行划分,并将划分后的数据库操作发送给applyBatch进行批处理,直到当前处理批次的数据库操作对数据库修改成功。
本发明实施例提供一种用于批处理的终端,包括:
第一处理模块,用于收集数据库操作,并将数据库操作发送给内容提供者提供的applyBatch;
第二处理模块,用于通过applyBatch对数据库操作进行批处理;
第三处理模块,用于如果当前处理批次的数据库操作对数据库修改没有成功,则查找符合预设条件的分割点yield point,根据查找到的yieldpoint将所述当前处理批次的数据库操作进行划分,并将划分后的数据库操作发送给applyBatch进行批处理,直到当前处理批次的数据库操作对数据库修改成功。
和现有技术相比,本发明实施例提供的对数据库操作进行批处理的方法和装置,在收集数据库操作提供给applyBatch进行批处理时,能够动态的根据数据的不同,找到最佳的yield point进行分区;不需要像现有技术中的靠取最小值来保证安全,也不需要累加每个数据的值来看是否会溢出。因此,采用本发明的方案对数据库操作进行批处理,既保证了安全,又保证了效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的一个具体实施例中对数据库操作进行批处理的方法的流程示意图;
图2为本发明的一个具体实施例中对数据库操作进行批处理的方法的详细流程示意图;
图3本发明的一个具体实施例中LeOperation的数据结构示意图;
图4为本发明的一个具体实施例中用于对数据库操作进行批处理的终端的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一:
图1为本发明的一个具体实施例中对数据库操作进行批处理的方法的流程示意图。
如图1所示,本发明实施例的方法包括:
步骤S11,收集数据库操作,并将数据库操作发送给内容提供者提供的applyBatch;
步骤S12,通过applyBatch对数据库操作进行批处理;
步骤S13,如果当前处理批次的数据库操作对数据库修改没有成功,则查找符合预设条件的yield point,根据查找到的yield point将当前处理批次的数据库操作进行划分,并将划分后的数据库操作发送给applyBatch进行批处理,直到当前处理批次的数据库操作对数据库修改成功。
实施例二:
图2为本发明的一个具体实施例中移动终端绑定服务的方法的详细流程示意图。
如图2所示,本发明实施例的方法包括:
步骤S21,预先定义内容提供者提供的applyBatch的数据库操作类LeOperation。
在本步骤中,如图3所示,预先定义的LeOperation的数据结构示意图。
LeOperation包括内容提供者操作(ContentProviderOperation)、内容提供者操作创建(ContentProviderOperation.Builder)、列名(columnName)、偏移(offset)和布尔类型(Boolean),所述Boolean用于表示数据库操作是否位于yield point。
步骤S22,收集数据库操作,并将数据库操作发送给内容提供者提供的applyBatch。
在本步骤中,ContentProviderOperation.Builder有一个很重要的方法withValueBackReference(String key,int previousResult),代表第previousResult条批处理数据执行完成后,生成的索引值,将作为当前这条记录的key字段的值。
如果在数据库操作进行批处理的过程中,一旦出现transactionTooLargeException,将当前批次的数据库操作进行分组,则可能导致previousResult错误。
新定义的LeOperation的columnName对应withValueBackReference中的key,offset对应previousResult。将当前批次的数据库操作分组时,会重新计算offset的值。如果columnName为设定值,例如null或者“”,则mSeparator的Boolean设置为true,认为该数据库操作是一个yieldpoint。
步骤S23,判断当前批次的数据库操作对数据库修改是否成功,如果否,进行步骤S24;如果是,进行步骤S25。
步骤S24,如果对数据库修改没有成功,查找符合预设条件的yieldpoint,将当前处理批次的数据库操作进行划分,返回步骤S22。
在本步骤中,如果当前批次的数据库操作对数据库修改没有成功,则查找符合预设条件的yield point,将当前处理批次的数据库操作划分两组,并且将划分后的两组数据库操作发送给applyBatch进行批处理。
将当前处理批次的数据库操作进行划分具体为:从当前批次的数据库操作的中间向两边开始查找yield point,根据新定义的LeOperation,如果查找到LeOperation的columnName为设定值数的数据库操作,例如null或者“”,则该数据库操作是yield point。
将划分后的数据库操作发送给applyBatch。分批提交可能导致后面的操作的previousResult发生改变,所以要记录新批次首元素的位置L,那么新的previousResult为offset-L,调整好新的previousResult后执行内容提供者提供的previousResult。
步骤S25,如果对数据库修改成功,收集当前批次的数据库操作的处理结果。
实施例三:
图4为本发明的一个具体实施例中用于对数据库操作进行批处理的终端的结构示意图。
如图4所示,本发明实施例的终端包括:
第一处理模块41,用于收集数据库操作,并将数据库操作发送给内容提供者提供的applyBatch;
第二处理模块42,用于通过applyBatch对数据库操作进行批处理;
第三处理模块43,用于如果当前处理批次的数据库操作对数据库修改没有成功,则查找符合预设条件的yield point,将当前处理批次的数据库操作进行划分,并将划分后的数据库操作发送给applyBatch进行批处理,直到当前处理批次的数据库操作对数据库修改成功。
所述装置还包括:
第四处理模块,用于预先定义内容提供者提供的applyBatch的数据库操作类LeOperation,所述LeOperation包括内容提供者操作ContentProviderOperation、内容提供者操作创建ContentProviderOperation.Builder、列名columnName、偏移offset和布尔类型Boolean,其中所述Boolean用于表示数据库操作是否位于yieldpoint。
此外,
所述第二处理模块还用于:
通过ContentProviderOperation.Builder的withValueBackReference(String key,int previousResult),在当前批次的第previousResult条数据库操作执行完成后,生成索引值,并将索引值作为当前记录的key字段的值;LeOperation的columnName对应withValueBackReference中的key,offset对应previousResult,如果将当前批次的数据库操作分组时,重新计算offset。
所述第三处理模块具体用于:
如果当前处理批次的数据库操作对数据库修改没有成功,则从当前批次的数据库操作的中间向两边开始查找yield point,如果查找到LeOperation的columnName为设定值数的数据库操作,则所述数据库操作是yield point;根据查找到的yield point将所述当前处理批次的数据库操作划分两组;将划分后的两组数据库操作发送给applyBatch进行批处理,记录新批次首元素的位置L,则新批次中数据库操作的previousResult的offset为offset-L。
本发明实施例提供的对数据库操作进行批处理的方法和装置,在收集数据库操作提供给applyBatch进行批处理时,能够动态的根据数据的不同,找到最佳的yield point进行分区;不需要像现有技术中的靠取最小值来保证安全,也不需要累加每个数据的值来看是否会溢出。因此,采用本发明的方案对数据库操作进行批处理,既保证了安全,又保证了效率。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种对数据库操作进行批处理的方法,其特征在于,包括:
收集数据库操作,并将数据库操作发送给内容提供者提供的applyBatch;
通过applyBatch对数据库操作进行批处理;
如果当前处理批次的数据库操作对数据库修改没有成功,则查找符合预设条件的分割点yield point,根据查找到的yield point将所述当前处理批次的数据库操作进行划分,并将划分后的数据库操作发送给applyBatch进行批处理,直到当前处理批次的数据库操作对数据库修改成功。
2.根据权利要求1所述的对数据库操作进行批处理的方法,其特征在于,所述方法还包括:
预先定义内容提供者提供的applyBatch的数据库操作类LeOperation,所述LeOperation包括内容提供者操作ContentProviderOperation、内容提供者操作创建ContentProviderOperation.Builder、列名columnName、偏移offset和布尔类型Boolean,其中所述Boolean用于表示数据库操作是否位于yieldpoint。
3.根据权利要求2所述的对数据库操作进行批处理的方法,其特征在于,所述方法还包括:
ContentProviderOperation.Builder通过withValueBackReference,在当前批次的第previousResult条数据库操作执行完成后,生成索引值,并将索引值作为当前记录的key字段的值;
LeOperation的columnName对应withValueBackReference中的key,offset对应previousResult,如果将当前批次的数据库操作分组时,重新计算offset。
4.根据权利要求3所述的对数据库操作进行批处理的方法,其特征在于,所述查找符合预设条件的yield point,根据查找到的yield point将所述当前处理批次的数据库操作进行划分,并将划分后的数据库操作发送给applyBatch进行批处理的步骤包括:
从当前批次的数据库操作的中间向两边开始查找yield point,如果查找到LeOperation的columnName为设定值数的数据库操作,则所述数据库操作是yield point;
根据查找到的yield point将所述当前处理批次的数据库操作划分两组,并将划分后的两组数据库操作发送给applyBatch进行批处理。
5.根据权利要求4所述的对数据库操作进行批处理的方法,其特征在于,所述方法还包括:
将划分后的两组数据库操作发送给applyBatch进行批处理后,记录新批次首元素的位置L,则新批次中数据库操作的previousResult的offset为offset-L。
6.根据权利要求2所述的对数据库操作进行批处理的方法,其特征在于,所述方法还包括:
如果对数据库修改成功,收集当前批次的数据库操作的处理结果。
7.一种用于对数据库操作进行批处理的终端,其特征在于,包括:
第一处理模块,用于收集数据库操作,并将数据库操作发送给内容提供者提供的applyBatch;
第二处理模块,用于通过applyBatch对数据库操作进行批处理;
第三处理模块,用于如果当前处理批次的数据库操作对数据库修改没有成功,则查找符合预设条件的分割点yield point,根据查找到的yieldpoint将所述当前处理批次的数据库操作进行划分,并将划分后的数据库操作发送给applyBatch进行批处理,直到当前处理批次的数据库操作对数据库修改成功。
8.根据权利要求7所述的用于对数据库操作进行批处理的终端,其特征在于,所述装置还包括:
第四处理模块,用于预先定义内容提供者提供的applyBatch的数据库操作类LeOperation,所述LeOperation包括内容提供者操作ContentProviderOperation、内容提供者操作创建ContentProviderOperation.Builder、列名columnName、偏移offset和布尔类型Boolean,其中所述Boolean用于表示数据库操作是否位于yieldpoint。
9.根据权利要求8所述的用于对数据库操作进行批处理的终端,其特征在于,所述第二处理模块还用于:
通过ContentProviderOperation.Builder的withValueBackReference,在当前批次的第previousResult条数据库操作执行完成后,生成索引值,并将索引值作为当前记录的key字段的值;
LeOperation的columnName对应withValueBackReference中的key,offset对应previousResult,如果将当前批次的数据库操作分组时,重新计算offset。
10.根据权利要求9所述的用于对数据库操作进行批处理的终端,其特征在于,所述第三处理模块具体用于:
如果当前处理批次的数据库操作对数据库修改没有成功,则从当前批次的数据库操作的中间向两边开始查找yield point,如果查找到LeOperation的columnName为设定值数的数据库操作,则所述数据库操作是yield point;
根据查找到的yield point将所述当前处理批次的数据库操作划分两组;
将划分后的两组数据库操作发送给applyBatch进行批处理,记录新批次首元素的位置L,则新批次中数据库操作的previousResult的offset为offset-L。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510921288.0A CN105912541A (zh) | 2015-12-12 | 2015-12-12 | 一种对数据库操作进行批处理的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510921288.0A CN105912541A (zh) | 2015-12-12 | 2015-12-12 | 一种对数据库操作进行批处理的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105912541A true CN105912541A (zh) | 2016-08-31 |
Family
ID=56744179
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510921288.0A Pending CN105912541A (zh) | 2015-12-12 | 2015-12-12 | 一种对数据库操作进行批处理的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105912541A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109658043A (zh) * | 2018-10-16 | 2019-04-19 | 深圳壹账通智能科技有限公司 | 催收数据处理方法、装置、设备和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101000562A (zh) * | 2006-12-30 | 2007-07-18 | 中国建设银行股份有限公司 | 一种执行批处理作业的方法及装置 |
US20140052750A1 (en) * | 2012-08-14 | 2014-02-20 | Amadeus S.A.S. | Updating cached database query results |
-
2015
- 2015-12-12 CN CN201510921288.0A patent/CN105912541A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101000562A (zh) * | 2006-12-30 | 2007-07-18 | 中国建设银行股份有限公司 | 一种执行批处理作业的方法及装置 |
US20140052750A1 (en) * | 2012-08-14 | 2014-02-20 | Amadeus S.A.S. | Updating cached database query results |
Non-Patent Citations (1)
Title |
---|
Q2014818: "API Guides > Contacts Provider(三)", 《CSDN博客 HTTPS://BLOG.CSDN.NET/Q2014818/ARTICLE/DETAILS/49719345》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109658043A (zh) * | 2018-10-16 | 2019-04-19 | 深圳壹账通智能科技有限公司 | 催收数据处理方法、装置、设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2016206372A1 (zh) | 一种虚拟化网络功能vnf的迁移方法及装置 | |
CN107277086B (zh) | 业务处理系统、业务处理方法以及业务更新方法 | |
CN106462575A (zh) | 群集内存数据库的设计及实现 | |
CN108241717B (zh) | 一种数据处理方法、装置及系统 | |
CN105989076A (zh) | 一种数据统计方法以及装置 | |
CN106815258B (zh) | 一种数据存储方法和协调节点 | |
CN105516266B (zh) | 一种业务监控方法、系统及相关设备 | |
CN105653425A (zh) | 基于复杂事件处理引擎的监控系统 | |
CN107783985A (zh) | 一种分布式数据库查询方法、装置及管理系统 | |
CN107783980A (zh) | 索引数据生成及数据查询方法及装置、存储和查询系统 | |
CN106302632A (zh) | 一种基础镜像的下载方法以及管理节点 | |
CN108595268A (zh) | 一种基于MapReduce的数据分配方法、装置及计算机可读存储介质 | |
CN104111958A (zh) | 一种数据查询方法及装置 | |
CN102104617A (zh) | 一种网站运营系统存储海量图片数据的方法 | |
CN105528454A (zh) | 日志处理方法及分布式集群的计算设备 | |
CN110134738A (zh) | 分布式存储系统资源预估方法、装置 | |
CN105373746B (zh) | 一种分布式数据处理方法和装置 | |
CN105812175A (zh) | 一种资源管理方法及资源管理设备 | |
CN103902592A (zh) | 基于MapReduce实现分析函数的方法及系统 | |
CN105701128B (zh) | 一种查询语句的优化方法和装置 | |
CN105912541A (zh) | 一种对数据库操作进行批处理的方法和装置 | |
CN101963978A (zh) | 一种分布式数据库的管理方法、装置及系统 | |
CN105426128A (zh) | 一种索引的维护方法及装置 | |
US20160125026A1 (en) | Proactive query migration to prevent failures | |
CN106506647A (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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20160831 |
|
WD01 | Invention patent application deemed withdrawn after publication |