CN102455934A - 工作流的调度方法和装置 - Google Patents
工作流的调度方法和装置 Download PDFInfo
- Publication number
- CN102455934A CN102455934A CN201010517637XA CN201010517637A CN102455934A CN 102455934 A CN102455934 A CN 102455934A CN 201010517637X A CN201010517637X A CN 201010517637XA CN 201010517637 A CN201010517637 A CN 201010517637A CN 102455934 A CN102455934 A CN 102455934A
- Authority
- CN
- China
- Prior art keywords
- task
- processor
- queue
- items
- activity
- 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
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供了一种工作流的调度方法和装置,方法包括:为每个处理器分别创建一个任务队列,每个任务队列包括一个或多个分别具有不同优先级的子队列;将工作流实例中的任务活动作为任务项插入到子队列中;处理器从其对应的任务队列中提取任务项,提取次序为:提取高优先级的子队列;在提取的子队列中,提取队首的任务项。本发明提高了工作流系统的并发效率。
Description
技术领域
本发明涉及数字排版领域,具体而言,涉及工作流的调度方法和装置。
背景技术
工作流是一系列相互衔接、自动进行的业务活动或任务,是一种反映业务流程的计算机模型。
工作流模型由一系列任务活动组成,这些任务活动对应于业务流程中的各个业务活动,包含执行业务活动的程序或者工具。工作流模型规定了这些任务活动间的执行顺序和执行条件,任务活动间的数据流,以及任务活动执行所需要的资源。
在实际应用中,同一个工作流模型通常可以生成多个工作流实例同时运行。这些工作流实例在多数情况下,需要共享业务数据和执行资源。在印前工作流系统中,多个工作流实例的并发运行,会涉及到内容文件(业务数据),处理器(执行资源),作业传票(工作流模型)等资源的共享。为保证工作流运行结果的正确性和一致性,必须提供一种调度机制,用以控制所有工作流实例的并发运行。
相关技术以串行化执行为正确性评判标准,以及基于锁或时间戳等调度机制实现并发控制,然而发明人发现,这种控制方法导致并发运行的效率较低。
发明内容
本发明旨在提供一种工作流的调度方法和装置,以解决现有技术的并发运行效率较低的问题。
在本发明的实施例中,提供了一种工作流的调度方法,包括:为每个处理器分别创建一个任务队列,每个任务队列包括一个或多个分别具有不同优先级的子队列;将工作流实例中的任务活动作为任务项插入到子队列中;处理器从其对应的任务队列中提取任务项,提取次序为:提取高优先级的子队列;在提取的子队列中,提取队首的任务项。
在本发明的实施例中,提供了一种工作流的调度装置,包括:创建模块,用于为每个处理器分别创建一个任务队列,每个任务队列包括一个或多个分别具有不同优先级的子队列;插入模块,用于将工作流实例中的任务活动作为任务项插入到子队列中;提取模块,用于使处理器从其对应的任务队列中提取任务项,提取次序为:提取高优先级的子队列;在提取的子队列中,提取队首的任务项。
根据本发明实施例的工作流的调度方法和装置因为采用乐观并发控制的方案,所以克服了现有技术的工作流系统的并发效率较低的问题,提高了工作流系统的并发效率。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1示出了根据本发明一个实施例的工作流的调度方法的流程图;
图2示出了根据本发明一个优选实施例的印前工作流的调度方法的流程图;
图3示出了根据本发明一个优选实施例的印前工作流的任务队列的示意图;
图4示出了根据本发明一个实施例的工作流的调度装置的方框图。
具体实施方式
下面将参考附图并结合实施例,来详细说明本发明。
图1示出了根据本发明一个实施例的工作流的调度方法的流程图,包括:
步骤S10,为每个处理器分别创建一个任务队列,每个任务队列包括一个或多个分别具有不同优先级的子队列;
步骤S20,将工作流实例中的任务活动作为任务项插入到子队列中;
步骤S30,处理器从其对应的任务队列中提取任务项,提取次序为:提取高优先级的子队列;在提取的子队列中,提取队首的任务项。
本调度方法采用乐观并发控制的方案,在保证运行结果的正确性和一致性的前提下,放宽了对于并发正确性的判断标准,通过采用多优先级任务队列,可以灵活控制工作流实例运行的优先级。因此本调度方法可以有效控制工作流系统,克服了现有技术的工作流系统的并发效率较低的问题,提高了工作流系统的并发效率。
优选地,步骤S20包括:从工作流实例中提取任务活动;确定任务活动所对应的处理器;将任务活动作为任务项,插入到所对应的处理器所对应的任务队列中指定优先级的子队列的队尾。
对于任务项的次序,本优选实施例采用先进先出的方法,从而可以保证任务活动的执行先后次序。值得注意的是,本发明并不限定于一个任务活动仅仅对应一个任务项,在进行工作流的分解时,一个任务活动通常对应于一个任务项,但有时候根据任务的性质以及占用执行资源的情况,可以分解为多个任务项。例如一个任务活动需要占用多个执行资源,则可以将该任务活动分解为对应于多个执行资源的任务项。执行资源是执行任务活动的程序,即处理器,每个处理器是一个单独的进程。工作流引擎对其开放接口,用于提取分配给处理器的任务项。
优选地,步骤S30包括:处理器循环地提取任务项,在取空任务队列之后,处理器进入休眠状态;当有新的任务项进入任务队列时,激活处理器循环地提取任务项。
本优选实施例提供了休眠机制,从而可以最大限度地节约处理器的使用。
优选地,本调度方法还包括:在处理器处理提取的任务项,成功处理完之后,设置任务项对应的任务活动的状态为完成,并设置状态为完成的任务活动的下一个任务活动的输入条件为就绪;步骤S20包括:在所有状态为未完成的任务活动中,当其输入条件为就绪时,将其作为任务项插入子队列中。
优选地,本调度方法还包括:在处理器处理任务项失败,判断处理次数未超过最大重试次数时,将失败的任务项的状态设置为重试;步骤S20包括:在处理失败的处理器的后继处理器任务完成时,将状态为重试的任务项插入到处理失败的处理器所对应的任务队列中最高优先级的子队列的队首。
因为本调度方法放宽了对于并发正确性的判断标准,所以处理器在执行任务项时,将涉及到共享数据资源竞争和冲突的问题。当其后继处理器正在提取属于前一个工作流实例的该处理器的输出资源,且该资源将替代之前的版本时,当前处理器的当前任务项将无法完成。上述两个优选实施例提供了任务处理成功失败的控制机制,可以解决共享数据资源竞争和冲突的问题。
图2示出了根据本发明一个优选实施例的印前工作流的调度方法的流程图,该优选实施例综合了上述多个优选实施例的技术方案,包括以下步骤:
步骤S101、为工作流系统中涉及的所有执行资源(即处理器)创建任务队列,每个任务队列包含多个预定优先级的子队列;
步骤S102、工作流引擎分解工作流实例,分析未完成任务活动中所有满足执行条件的任务活动的任务项,按任务项涉及的执行资源将任务项插入指定任务队列的指定优先级的子队列的队尾;
步骤S103、处理器从对应的任务队列中提取任务项处理,提取次序为,首先提取高优先级的子队列内任务项;同优先级的子队列中,取队首的任务项;
步骤S104、处理器处理提取的任务项,成功处理完相应的任务项后,将任务项状态置为完成;
步骤S105、工作流引擎将任务项全部完成的任务活动的状态置为完成,并设置该任务活动后继任务活动的输入条件为就绪;
步骤S106、重复S102-S105,直至所有任务活动状态全部为就绪。
在步骤S102中,在所有状态为未完成的任务活动中,只有其所有输入条件都为就绪时,工作流引擎才会分析其定义,分解出其包含的任务项,将任务项按优先级排入对应的队列。
在步骤S103中,处理器循环提取属于自身的任务项,在取空任务队列后,处理器处理循环进入休眠状态。当有新的任务项进入队列时,工作流引擎将激活通知处理器激活任务处理器循环。
处理器在处理失败时,如果该任务项重试次数未超过最大重试次数,将当前任务项状态置为重试。在该处理器的后继处理器任务完成提交时,工作流引擎将触发任务调度器将该任务项排入处理器对应的任务队列的最高优先级的子队列的队首。
图3示出了根据本发明一个优选实施例的印前工作流的任务队列的示意图,本优选实施例是一个印前业务工作流实例,由规范化、预飞、PDF导出三个任务活动组成,每个任务活动包含一个任务项。针对该业务流程,采用本发明提供的方法的实施步骤如下:
S201、在工作流系统中,为规范化处理器、预飞处理器、PDF导出处理器创建如图所示的任务队列,根据业务需要,规范化处理器的任务队列分三个优先级,预飞处理器的任务队列分两个优先级,PDF导出处理器任务队列只有一个优先级;
S202、工作流引擎分解工作流实例1的规范化器的任务项,将任务项放入对应的优先级的子队列;
S203、工作流引擎激活规范化器的处理循环,当规范化器完成任务项,生成规范的可移植文档格式PDF文件后,将任务项状态置为完成;
S204、工作流引擎将工作流实例1的规范化任务活动的状态置为完成;
S205、调度器分解工作流实例1的预飞处理的任务项,将任务项排入预飞处理器对应的任务队列中,并激活预飞处理器的处理循环;
S206、当PDF文件内容发生变化后,启动工作流实例2运行,将规范化任务活动对应的任务项排入规范化器对应的任务队列。如果此时规范化器队列内没有更多的任务项处理,那么规范化器的处理循环处于休眠状态,需要工作流引擎激活处理循环;
S207、工作流实例2的规范化器,开始对执行器任务项,生成新的PDF文件版本,已覆盖工作流实例1中规范化器生成的PDF文件。工作流实例1的处理动作尚未完成,规范化任务失败。规范化器将该任务项的状态设为重试。
如果任务队列中还有任务项,规范化器将继续处理新的任务项。
S208、工作流实例1的预飞任务项完成后,调度器重新将工作流实例2的规范化任务项排入规范化器的任务队列,激活规范化器的处理循环。
图4示出了根据本发明一个实施例的工作流的调度装置(即图2中的调度器)的方框图,包括:
创建模块10,用于为每个处理器分别创建一个任务队列,每个任务队列包括一个或多个分别具有不同优先级的子队列;
插入模块20,用于将工作流实例中的任务活动作为任务项插入到子队列中;
提取模块30,用于使步骤S30,提取次序为:提取高优先级的子队列;在提取的子队列中,提取队首的任务项。
本调度装置可以有效控制工作流系统,克服了现有技术的工作流系统的并发效率较低的问题,提高了工作流系统的并发效率。
优选地,插入模块包括:第一模块,用于从工作流实例中提取任务活动;第二模块,用于确定任务活动所对应的处理器;第三模块,用于将任务活动作为任务项,插入到所对应的处理器所对应的任务队列中指定优先级的子队列的队尾。本优选实施例采用先进先出的方法,从而可以保证任务活动的执行先后次序。
优选地,提取模块包括:第一模块,用于使处理器循环地提取任务项,在取空任务队列之后,使处理器进入休眠状态;第二模块,用于当有新的任务项进入任务队列时,激活处理器循环地提取任务项。本优选实施例提供了休眠机制,从而可以最大限度地节约处理器的使用。
优选地,本调度装置还包括:设置模块,用于在处理器处理提取的任务项,成功处理完之后,设置任务项对应的任务活动的状态为完成,并设置状态为完成的任务活动的下一个任务活动的输入条件为就绪;插入模块用于在所有状态为未完成的任务活动中,当其输入条件为就绪时,将其作为任务项插入子队列中。
优选地,本调度装置还包括:重试模块,用于在处理器处理任务项失败,判断处理次数未超过最大重试次数时,将失败的任务项的状态设置为重试;插入模块用于在处理失败的处理器的后继处理器任务完成时,将状态为重试的任务项插入到处理失败的处理器所对应的任务队列中最高优先级的子队列的队首。
上述两个优选实施例提供了任务处理成功失败的控制机制,可以解决共享数据资源竞争和冲突的问题。
从以上的描述中可以看出,本发明上述的实施例提高了工作流系统的并发效率。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种工作流的调度方法,其特征在于,包括:
为每个处理器分别创建一个任务队列,每个所述任务队列包括一个或多个分别具有不同优先级的子队列;
将工作流实例中的任务活动作为任务项插入到所述子队列中;
所述处理器从其对应的所述任务队列中提取所述任务项,提取次序为:提取高优先级的所述子队列;在所述提取的子队列中,提取队首的所述任务项。
2.根据权利要求1所述的方法,其特征在于,将工作流实例中的任务活动作为任务项插入到所述子队列中包括:
从所述工作流实例中提取所述任务活动;
确定所述任务活动所对应的所述处理器;
将所述任务活动作为所述任务项,插入到所对应的所述处理器所对应的任务队列中指定优先级的所述子队列的队尾。
3.根据权利要求1所述的方法,其特征在于,所述处理器从其对应的所述任务队列中提取所述任务项包括:
所述处理器循环地提取所述任务项,在取空所述任务队列之后,所述处理器进入休眠状态;
当有新的所述任务项进入所述任务队列时,激活所述处理器循环地提取所述任务项。
4.根据权利要求1所述的方法,其特征在于,还包括:
在所述处理器处理所述提取的任务项,成功处理完之后,设置所述任务项对应的任务活动的状态为完成,并设置状态为完成的所述任务活动的下一个任务活动的输入条件为就绪;
将工作流实例中的任务活动作为任务项插入到所述子队列中包括:在所有状态为未完成的所述任务活动中,当其输入条件为就绪时,将其作为任务项插入所述子队列中。
5.根据权利要求4所述的方法,其特征在于,还包括:
在所述处理器处理所述任务项失败,判断处理次数未超过最大重试次数时,将所述失败的任务项的状态设置为重试;
将工作流实例中的任务活动作为任务项插入到所述子队列中包括:在所述处理失败的处理器的后继处理器任务完成时,将所述状态为重试的任务项插入到所述处理失败的处理器所对应的任务队列中最高优先级的子队列的队首。
6.一种工作流的调度装置,其特征在于,包括:
创建模块,用于为每个处理器分别创建一个任务队列,每个所述任务队列包括一个或多个分别具有不同优先级的子队列;
插入模块,用于将工作流实例中的任务活动作为任务项插入到所述子队列中;
提取模块,用于使所述处理器从其对应的所述任务队列中提取所述任务项,提取次序为:提取高优先级的所述子队列;在所述提取的子队列中,提取队首的所述任务项。
7.根据权利要求6所述的装置,其特征在于,所述插入模块包括:
第一模块,用于从所述工作流实例中提取所述任务活动;
第二模块,用于确定所述任务活动所对应的所述处理器;
第三模块,用于将所述任务活动作为所述任务项,插入到所对应的所述处理器所对应的任务队列中指定优先级的所述子队列的队尾。
8.根据权利要求6所述的装置,其特征在于,所述提取模块包括:
第一模块,用于使所述处理器循环地提取所述任务项,在取空所述任务队列之后,使所述处理器进入休眠状态;
第二模块,用于当有新的所述任务项进入所述任务队列时,激活所述处理器循环地提取所述任务项。
9.根据权利要求6所述的装置,其特征在于,还包括:
设置模块,用于在所述处理器处理所述提取的任务项,成功处理完之后,设置所述任务项对应的任务活动的状态为完成,并设置状态为完成的所述任务活动的下一个任务活动的输入条件为就绪;
所述插入模块用于在所有状态为未完成的所述任务活动中,当其输入条件为就绪时,将其作为任务项插入所述子队列中。
10.根据权利要求9所述的装置,其特征在于,还包括:
重试模块,用于在所述处理器处理所述任务项失败,判断处理次数未超过最大重试次数时,将所述失败的任务项的状态设置为重试;
所述插入模块用于在所述处理失败的处理器的后继处理器任务完成时,将所述状态为重试的任务项插入到所述处理失败的处理器所对应的任务队列中最高优先级的子队列的队首。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010517637XA CN102455934A (zh) | 2010-10-25 | 2010-10-25 | 工作流的调度方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010517637XA CN102455934A (zh) | 2010-10-25 | 2010-10-25 | 工作流的调度方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102455934A true CN102455934A (zh) | 2012-05-16 |
Family
ID=46039147
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010517637XA Pending CN102455934A (zh) | 2010-10-25 | 2010-10-25 | 工作流的调度方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102455934A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102761617A (zh) * | 2012-07-02 | 2012-10-31 | 北京京北方信息技术有限公司 | 一种工作流队列服务器、工作流调度系统及其方法 |
CN102902573A (zh) * | 2012-09-20 | 2013-01-30 | 北京搜狐新媒体信息技术有限公司 | 一种基于共享资源的任务的处理方法及装置 |
CN103218449A (zh) * | 2013-04-26 | 2013-07-24 | 中国农业银行股份有限公司 | 报表日间操作异步处理方法与系统 |
CN103530173A (zh) * | 2012-07-06 | 2014-01-22 | 上海宝信软件股份有限公司 | 动态权重事件处理系统和方法 |
CN104793992A (zh) * | 2015-04-21 | 2015-07-22 | 浙江大学 | 一种基于任务分解的并行任务处理方法 |
CN105955813A (zh) * | 2016-05-06 | 2016-09-21 | 电子科技大学 | 一种云计算系统中考虑计算节点故障的工作流调度方法 |
CN106528295A (zh) * | 2016-11-07 | 2017-03-22 | 广州华多网络科技有限公司 | 系统任务调度方法及装置 |
CN109814985A (zh) * | 2017-11-20 | 2019-05-28 | 杭州华为数字技术有限公司 | 一种任务调度方法及调度器、计算设备、系统 |
CN109814988A (zh) * | 2017-11-22 | 2019-05-28 | 深圳竹云科技有限公司 | 任务处理方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101290585A (zh) * | 2007-04-19 | 2008-10-22 | 中兴通讯股份有限公司 | 一种嵌入式系统实时任务的调度方法 |
CN101446910A (zh) * | 2008-12-08 | 2009-06-03 | 哈尔滨工程大学 | 基于smp的aedf任务调度方法 |
CN101458634A (zh) * | 2008-01-22 | 2009-06-17 | 中兴通讯股份有限公司 | 负载均衡调度方法和装置 |
-
2010
- 2010-10-25 CN CN201010517637XA patent/CN102455934A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101290585A (zh) * | 2007-04-19 | 2008-10-22 | 中兴通讯股份有限公司 | 一种嵌入式系统实时任务的调度方法 |
CN101458634A (zh) * | 2008-01-22 | 2009-06-17 | 中兴通讯股份有限公司 | 负载均衡调度方法和装置 |
CN101446910A (zh) * | 2008-12-08 | 2009-06-03 | 哈尔滨工程大学 | 基于smp的aedf任务调度方法 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102761617A (zh) * | 2012-07-02 | 2012-10-31 | 北京京北方信息技术有限公司 | 一种工作流队列服务器、工作流调度系统及其方法 |
CN103530173A (zh) * | 2012-07-06 | 2014-01-22 | 上海宝信软件股份有限公司 | 动态权重事件处理系统和方法 |
CN103530173B (zh) * | 2012-07-06 | 2018-07-17 | 上海宝信软件股份有限公司 | 动态权重事件处理系统和方法 |
CN102902573A (zh) * | 2012-09-20 | 2013-01-30 | 北京搜狐新媒体信息技术有限公司 | 一种基于共享资源的任务的处理方法及装置 |
CN103218449A (zh) * | 2013-04-26 | 2013-07-24 | 中国农业银行股份有限公司 | 报表日间操作异步处理方法与系统 |
CN104793992A (zh) * | 2015-04-21 | 2015-07-22 | 浙江大学 | 一种基于任务分解的并行任务处理方法 |
CN104793992B (zh) * | 2015-04-21 | 2018-05-01 | 浙江大学 | 一种基于任务分解的并行任务处理方法 |
CN105955813A (zh) * | 2016-05-06 | 2016-09-21 | 电子科技大学 | 一种云计算系统中考虑计算节点故障的工作流调度方法 |
CN106528295A (zh) * | 2016-11-07 | 2017-03-22 | 广州华多网络科技有限公司 | 系统任务调度方法及装置 |
CN109814985A (zh) * | 2017-11-20 | 2019-05-28 | 杭州华为数字技术有限公司 | 一种任务调度方法及调度器、计算设备、系统 |
CN109814985B (zh) * | 2017-11-20 | 2021-07-16 | 华为技术有限公司 | 一种任务调度方法及调度器、计算设备、系统 |
CN109814988A (zh) * | 2017-11-22 | 2019-05-28 | 深圳竹云科技有限公司 | 任务处理方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102455934A (zh) | 工作流的调度方法和装置 | |
CN106802826B (zh) | 一种基于线程池的业务处理方法及装置 | |
CN103197969B (zh) | 一种分布式定时任务控制装置及方法 | |
CN104216785A (zh) | 通用策略任务系统及其实现方法 | |
CN103279385A (zh) | 一种云计算环境中集群任务调度方法及系统 | |
CN109684060A (zh) | 一种多类型时间关键任务的混合调度方法 | |
CN103761474B (zh) | 一种用于监控方法执行时间的监控方法和装置 | |
CN110611707A (zh) | 一种任务调度的方法及装置 | |
CN108958789B (zh) | 一种并行流式计算方法、电子设备、存储介质及系统 | |
CN107704315A (zh) | 一种基于Quartz的定时任务调度服务框架及方法 | |
CN110569113A (zh) | 分布式任务的调度方法及系统、计算机可读存储介质 | |
CN103268258A (zh) | 一种卫星地面遥控发令安全控制方法 | |
CN102681894A (zh) | 一种多任务并发调度方法及系统 | |
CN101388038A (zh) | 数据抽取、转换和加载的执行方法和装置 | |
CN103500119A (zh) | 一种基于预调度的任务分配方法 | |
CN103823719A (zh) | 针对可执行程序的分布式云计算系统及针对可执行程序的分布式云计算方法 | |
CN109445929A (zh) | 一种调度任务的方法和系统 | |
CN105446812A (zh) | 一种多任务调度配置方法 | |
US20030163600A1 (en) | Method and system where one thread can handle several different services concurrently | |
US9766940B2 (en) | Enabling dynamic job configuration in mapreduce | |
CN110753090A (zh) | 服务器集群的任务执行方法、装置、计算机设备及存储介质 | |
Kononov et al. | Control of a Complex of Works in Multiprocessor Real-time ACS | |
CN113535361A (zh) | 任务调度方法、装置、设备及存储介质 | |
KR102031853B1 (ko) | 다중 중요도 시스템 위한 작업별 중요도 모드 전환 방법 | |
Gu et al. | Synthesis of real-time implementations from component-based software models |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20120516 |