CN101071435B - 一种基于嵌入式数据库的分布式访问方法 - Google Patents
一种基于嵌入式数据库的分布式访问方法 Download PDFInfo
- Publication number
- CN101071435B CN101071435B CN200710075007XA CN200710075007A CN101071435B CN 101071435 B CN101071435 B CN 101071435B CN 200710075007X A CN200710075007X A CN 200710075007XA CN 200710075007 A CN200710075007 A CN 200710075007A CN 101071435 B CN101071435 B CN 101071435B
- Authority
- CN
- China
- Prior art keywords
- interface
- database
- access
- data
- accessing
- 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
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明提供了一种基于嵌入式数据库的分布式访问方法,包括步骤:Al、创建统一访问接口函数、接口代理模块、接口服务模块;A2、服务器端通过统一访问接口函数调用数据库的接口函数获得数据;A3、客户端调用统一访问接口函数,向接口代理模块发送数据库访问请求,对一同步对象进行同步操作,阻塞客户端应用程序;A4、接口代理模块收到访问请求,向接口服务模块发送请求,传递参数;A5、接口服务模块收到请求,则调用统一访问接口函数获得数据,向接口代理模块发送回应消息并传递数据;A6、接口代理模块收到回应消息,把收到的数据复制到统一访问接口函数的输出缓冲区中,把对应的同步对象置为可用,解阻塞并继续执行客户端应用程序。
Description
技术领域
本发明涉及嵌入式数据库领域,尤其涉及的是,一种基于嵌入式数据库的分布式访问方法。
背景技术
嵌入式系统一般是指操作系统和功能软件集成于计算机硬件系统之中,其具有软件代码小,高度自动化,响应速度快等特点,特别适合于要求实时的和多任务的体系。随着各种嵌入式操作系统广泛应用于航空、航天、通信、军事、工业控制、医疗设备等领域,嵌入式数据库的应用也越来越多。一些领域提出了对嵌入式数据库的分布式访问的需求,因此出现了如图1、图2所示的包含可扩展的数据管理系统(E-DBMS)的分布式嵌入式数据库在客户/服务器(C/S)架构的应用。
分布式软件系统(Distributed Software Systems)是支持分布式处理的软件系统,是在由通信网络互联的多处理机体系结构上执行任务的系统。它包括分布式操作系统、分布式程序设计语言及其编译(解释)系统、分布式文件系统和分布式数据库系统等。
分布式嵌入式数据库功能强大,但由于分布式嵌入式数据库同传统的分布式数据库一样,要考虑数据的分片、数据的分布、数据冗余度、事务管理的分布性等一系列集中式数据库所不需考虑的难题,这对于大多数只需要进行简单数据管理与维护的系统来说,大大增加了复杂性,处理不当也会影响系统的稳定可靠性。
并且,在对数据库的访问时,一般希望数据库访问接口能立即返回数据,接着对数据处理,即对数据库同步访问,位于服务器端的应用程序一般都能通过调用数据库提供的访问接口对数据库进行同步访问。客户/服务器架构的应用中,其采用的访问嵌入式数据库的方法是,客户应用程序发送消息给服务器应用程序,然后在某一状态下等待回应消息,服务器应用程序访问嵌入式数据库,并把结果通过消息发送客户应用程序处理。这是对数据库的异步访问,对每一个客户应用程序都要编写复杂的数据访问处理流程,不利于数据的处理。而且,由于访问方法的不同,也造成了应用程序不能方便地在客户端和服务器端移植。
因此,如何实现简单有效的、同步的、易于移植的嵌入式数据库的分布式访问方法是使用客户/服务器架构的系统所面临的一个难题。现有技术不能解决这一问题,因此需要改进。
发明内容
本发明的目的在于提供一种基于嵌入式数据库的分布式访问方法,能够实现同步访问数据库,并且可以方便地在客户端和服务器端移植。
本发明的技术方案如下:
一种基于嵌入式数据库的分布式访问方法,其包括步骤:A1、嵌入式数据库创建统一访问接口函数、接口代理模块、接口服务模块,其中接口代理模块设置用于记录接口和应用程序标识信息的接口访问控制块;A2、服务器端应用程序访问所述数据库时,通过所述统一访问接口函数调用所述数据库的接口函数获得数据,所述统一访问接口函数返回,所述服务器端应用程序继续处理获取的数据;A3、客户端应用程序访问数据库时,调用所述统一访问接口函数,向所述接口代理模块发送数据库访问请求,并且对一个初始值为不可用的同步对象进行同步操作,阻塞所述客户端应用程序;A4、所述接口代理模块收到所述数据库访问请求,通过所述接口访问控制块记录接口和应用程序标识信息,向所述接口服务模块发送所述接口服务请求,并传递所述接口访问控制块标识和数据库访问所需的参数;A5、所述接口服务模块收到所述接口服务请求,则调用所述统一访问接口函数获得数据,并向所述接口代理模块发送所述接口服务请求回应消息并传递获取的数据;A6、所述接口代理模块收到所述接口服务请求回应消息,把收到的数据复制到所述统一访问接口函数的输出缓冲区中,然后把对应的同步对象置为可用,解阻塞并继续执行所述客户端应用程序。
所述的分布式访问方法,其中,所述步骤A2之前,还包括步骤:所述接口代理模块初始化所述数据库的同步对象;
所述的分布式访问方法,其中,所述不可用的同步对象包括初始值为0的信号量和无事件发生的事件对象。
所述的分布式访问方法,其中,所述同步操作包括对信号量进行提取操作,或对事件对象进行等待操作。
所述的分布式访问方法,其中,所述置为可用包括释放信号量和对事件对象设置事件。
采用上述方案,本发明提供了一种简单有效的嵌入式数据库的分布式访问方法,使客户端应用程序能以同步方式访问嵌入式数据库,同步方式使得数据库访问接口返回时也能同时返回所要获得的数据,便于应用程序及时处理数据,避免了前面所述常用的异步数据库访问方式中的多次消息交互,简化了应用程序的数据处理流程;并且本所述方法实现了数据库统一访问接口,使应用程序在客户端和服务器端的数据库访问方法是一致的,不必考虑数据的物理分布,即数据的物理分布对应用程序是透明的,这样也使应用程序在客户端和服务器端可以很方便的相互移植,相互移植时不必再修改数据库访问接口。
附图说明
图1为现有技术的一种嵌入式数据库的客户/服务器架构的应用框图;
图2为现有技术的一种分布式嵌入式数据库系统图;
图3为本发明的嵌入式数据库分布式访问交互示意图;
图4为本发明方法的流程图。
具体实施方式
以下对本发明的较佳实施例加以详细说明。
如图4所示,本发明提供了一种基于嵌入式数据库的分布式访问方法,包括以下步骤:
A1、嵌入式数据库创建统一访问接口函数、接口代理模块、接口服务模块,其中接口代理模块设置用于记录接口和应用程序标识信息的接口访问控制块。其中,所述数据库统一访问接口函数,在服务器端的实现方法和在客户端的实现方法不同;在服务器端则直接调用嵌入式数据库提供的接口访问数据库,在客户端则使用操作系统提供的同步机制,数据的获取和消息交互都交给了数据库接口代理模块和接口服务模块来处理,客户端在调用统一接口后被阻塞直到数据库代理模块把数据交给客户程序,产生的效果就如同客户应用程序访问本地数据库或调用一个函数访问一个全局变量一样。现有技术中客户端应用程序本身充当了一部分本文描述的接口代理模块的作用,但它只能处理自己的数据库访问消息交互流程。本发明的数据库接口代理模块采用了同步机制,而且可以处理客户端所有的客户程序的数据库访问请求。
A2、服务器端应用程序访问所述数据库时,通过所述统一访问接口函数调用所述数据库的接口函数获得数据,所述统一访问接口函数返回,所述服务器端应用程序继续处理获取的数据;这里是使用了嵌入式数据库提供的接口函数。其中,在所述步骤A2之前,还可以包括步骤B1:所述接口代理模块初始化所述数据库的同步对象。
A3、客户端应用程序访问数据库时,调用所述统一访问接口函数,向所述接口代理模块发送数据库访问请求,并且对一个初始值为不可用的同步对象进行同步操作,阻塞所述客户端应用程序。其中,所述不可用的同步对象包括初始值为0的信号量和无事件发生的事件对象等;所述同步操作包括对信号量进行提取操作,或对事件对象进行等待操作。对一个初始值为不可用的同步对象,对信号量作提取操作或对事件对象作等待操作,应用程序被阻塞,等待该同步对象被置为可用。其中,所述置为可用包括释放信号量和对事件对象设置事件。
A4、所述接口代理模块收到所述数据库访问请求,通过所述接口访问控制块记录接口和应用程序标识信息,向所述接口服务模块发送所述接口服务请求,并传递所述接口访问控制块标识和数据库访问所需的参数。其中,接口访问控制块是接口代理模块特有的数据结构,一个客户端应用程序的访问请求用一个接口访问控制块来控制,记录接口和应用程序标识等信息。接口访问控制块的数据结构举例说明如下:
接口访问控制块的数据结构举例说明:
struct TDACB /*接口访问控制块*/
{
BYTE byUsed; /*使用标志*/
WORD wEvent; /*消息号*/
BYTE*pbyOutBuf;/*输出缓冲区地址*/
WORD wOutBufLen;/*输出缓冲区长度*/
DWORD dwPId; /*访问进程ID*/
DWORD dwTimerId;/*定时器ID,用于等待接口服务模
块回应消息*/
SEM_ID semId; /*信号量*/
};
A5、所述接口服务模块收到所述接口服务请求,则调用所述统一访问接口函数获得数据,并向所述接口代理模块发送所述接口服务请求回应消息并传递获取的数据。
A6、所述接口代理模块收到所述接口服务请求回应消息,把收到的数据复制到所述统一访问接口函数的输出缓冲区中,然后把对应的同步对象置为可用,如释放信号量或对事件对象设置事件等,解阻塞并继续执行所述客户端应用程序。
其中,步骤A1、A2和A5是服务器端的处理步骤,步骤A1、B1、A3和A4是客户端的处理步骤。
具体地说,本发明所述一种基于嵌入式数据库的分布式访问方法中,客户端和服务器端分别实现数据库接口代理模块和数据库接口服务模块,并分别实现数据库统一访问接口。本发明所述方法中使用了嵌入式操作系统提供的同步机制,其中,同步操作是指一个任务A,要求启动操作的任务B暂停活动直到该任务A完成某个操作;用于实现同步机制的对象有很多,如VxWorks操作系统提供的二进制信号量、计数信号量等,WindowsMobile操作系统提供的事件对象等。由于实现了数据库统一访问接口,应用程序在客户端和服务器端的数据库访问方法是一致的,客户程序不管是位于任何一个客户端还是位于驻留数据库的服务器端,都使用一样的接口函数访问数据库,这样客户程序就不用关心数据库驻留的站点位置,即不必考虑数据的物理分布。同时由于使用相同的接口函数,这样客户程序可以在不同客户端、服务器端相互移植而不用修改接口。
本实施方式中采用的同步对象可以是二进制信号量,也可以是其他能够实现同步操作的同步对象,包括事件、互锁函数等。信号量是实现同步的基本方法,在几乎所有的多任务操作系统里面都做了信号量的实现,其它一些同步机制其实可以通过信号量来实现。如果把信号量的最大值和初始值均设置为1,那么它就可实现互斥体,即保证对共享资源互斥访问的保护。如果把信号量的初始值设置为0,等待别的任务来唤醒它,那么它就可实现事件(Event)机制。事件(Event)机制来实现任务之间的协调工作,包括通知一个任务什么时候去执行它的特定的任务和标识事件的发生等;可以指定Event的初始状态为触发的或未触发的,还可以指定事件是否手动复位;也可以把命名事件用于进程之间的同步。还可以采用互锁函数或消息队列等来实现同步。这属于现有技术,本发明对此不作任何限制。
例如在VxWorks操作系统中,可以采用二进制信号量、计数信号量等作为同步对象,初始化时将其初始值设置为0,置为可用时将其设置为1;在Windows Mobile操作系统系统中,可以采用事件对象作为同步对象,初始化时将其初始值设置为无信号(无事件发生)状态,置为可用时将其设置为有信号(事件发生)状态;在Windows Mobile或嵌入式linux系统中,可以采用信号量作为同步对象,初始化时将其初始值设置为无信号状态,置为可用时将其设置为有信号状态。
下面结合附图,对本发明的技术方案做进一步的说明,本具体实施方式中一种基于嵌入式数据库的分布式访问方法的交互图如图3所示,通常客户端应用程序在访问嵌入式数据库时,要与位于服务器端的一个和该客户端应用程序相对应的单独的应用程序进行通信,由这个服务器端应用程序获取数据再发送给客户端应用程序,这种访问方式是异步的,一个客户端应用程序需要一个这样位于服务器的应用程序相配合。在本实施方式中,实现了进程DbServerProc所表示的数据库接口服务模块和进程DbAgentProc所表示的数据库接口代理模块,作为嵌入式数据库的一部分,对系统中所有客户应用程序提供同步访问嵌入式数据库的服务。进程DbServerProc所表示的数据库接口服务模块,进程DbAgentProc所表示的数据库接口代理模块、数据库统一访问接口函数DbsAccess,这两个进程和函数是对前面所述数据库接口服务模块、数据库接口代理模块、数据库统一访问接口函数的举例,是本发明所独有的。
本发明传递DACB(接口访问控制块)的标识、接口输入参数信息,通常的访问方法仅需传递接口输入参数信息,而本发明增加了一个传递DACB标识,当消息返回时用来标识是哪一个访问控制块对应的消息。DbServerProc进程和DbAgentProc进程分别实现名称和参数都相同的数据库统一访问接口函数DbsAccess。
如图3所示,一种基于嵌入式数据库的分布式访问方法的客户端包括以下步骤:
(1)客户端应用进程调用数据库统一访问接口函数DbsAccess访问数据库,DbsAccess函数向DbAgentProc进程发送数据库访问消息请求,然后获取初始值为0的二进制信号量,应用程序被阻塞,等待该信号量被释放。其中,DbsAccess仅是本具体实施方式采用的函数名称,在服务器端它调用嵌入式数据库提供的接口访问数据库,在客户端它通过使用同步对象,向接口代理模块发送同步消息。
DbAgentProc进程实现的是接口代理模块的功能,能够为运行该进程的客户端上的所有应用程序提供数据库接口访问服务。它维护一组接口访问控制块,并负责与接口服务模块进行消息交互。该进程可以通过设置接口访问控制块的数目来控制接口代理模块允许的同时访问数据库的最大请求数目,当找不到使用标志为0的DACB时,拒绝接口请求,这时接口会返回一个错误码;可以使用DACB的顺序号作为DACB标识。另外,也可以通过设置定时器来控制接口代理模块对每一个请求回应的等待时间。本实施方式中,省略了对异常情况的处理,本实用新型对此没有额外限制。
(2)DbAgentProc进程收到数据库访问请求消息后,使用一个接口访问控制块DACB记录接口输入输出参数、对应的二进制信号量、应用进程标识等信息,然后向DbServerProc进程发送接口服务请求消息并传递DACB标识、接口输入参数信息等。
DbServerProc进程实现的是接口服务模块的功能,它的功能相对简单些,就是收到接口代理模块的消息请求后,首先进行参数校验,然后访问嵌入式数据库,并把获取的结果通过消息发送给接口代理模块。本实施方式中,省略了参数校验和异常处理,本实用新型对此没有额外限制。
(3)DbAgentProc进程收到DbServerProc进程发来的接口服务请求回应消息,把收到的数据复制到DbsAccess函数的输出缓冲区中,然后释放对应的二进制信号量,应用进程解阻塞,继续处理获取的数据。
服务器端处理步骤如下:
(1)服务器端应用程序调用DbsAccess函数访问数据库,DbsAccess函数直接调用嵌入式数据库提供的接口函数获得数据,DbsAccess函数返回,应用程序继续处理获取的数据。
(2)如果DbServerProc进程收到DbAgentProc进程发送的接口服务请求消息,则调用统一访问接口函数DbsAccess获得数据,并向DbAgentProc进程发送接口服务请求回应消息并传递获取的数据。
下面是一个具体的统一接口函数调用示例,可以运行在客户端或服务器端。示例中统一访问接口DbsAccess的第一个参数是消息号,EV_GETTABLETUPLE消息表示获取表记录数据,它对应的输入、输出参数结构分别是TGetTableTupleReq、TGetTableTupleAck,在输入参数中指定表名称和记录号,返回记录数据保存在输出参数结构中。
TGetTableTupleReq tGetTableTupleReq;/*输入参数*/
TGetTableTupleAck tGetTableTupleAck;/*输出参数*/
tGetTableTupleReq.byDbsTable=R_TYPE;/*表名称*/
tGetTableTupleReq.dwTupleNo=1; /*记录序号*/
DbsAccess(EV_GETTABLETUPLE,(void*)&tGetTableTupleReq,
sizeof(tGetTableTupleReq),(void*)&tGetTableTupleAck,
sizeof(tGetTableTupleAck));
if(DBACCEss_SUCCESS==tGetTableTupleAck.wResult)
{
/*当接口访问成功时对数据进行处理,数据保存在
TGetTableTupleAck结构的abyTuple缓冲区中*/
…/*数据处理流程省略*/
}
采用本发明所述方法,能够实现简单有效的嵌入式数据库的分布式访问,使得应用程序不仅可以对嵌入式数据库进行同步访问,还可以使用数据库提供的统一的接口访问数据,而不用考虑数据的物理分布,简化了应用程序访问数据库的流程,同时也方便了应用程序的移植。
应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (2)
1.一种基于嵌入式数据库的分布式访问方法,其包括步骤:
A1、嵌入式数据库创建统一访问接口函数、接口代理模块、接口服务模块,其中接口代理模块设置用于记录接口和应用程序标识信息的接口访问控制块,数据库代理模块服务器采用同步机制,在客户端使用操作系统提供的同步机制,当消息返回时用接口访问控制块标识是哪一个访问控制块对应的消息;
A2、服务器端应用程序访问所述数据库时,通过所述统一访问接口函数调用所述数据库的接口函数获得数据,所述统一访问接口函数返回,所述服务器端应用程序继续处理获取的数据;
A3、客户端应用程序访问数据库时,调用所述统一访问接口函数,向所述接口代理模块发送数据库访问请求,并且对一个初始值为不可用的同步对象进行同步操作,阻塞所述客户端应用程序;所述不可用的同步对象包括初始值为0的信号量和无事件发生的事件对象;所述同步操作包括对信号量进行提取操作,或对事件对象进行等待操作;对一个初始值为不可用的同步对象,对信号量作提取操作或对事件对象作等待操作,应用程序被阻塞,等待该同步对象被置为可用,所述置为可用包括释放信号量和对事件对象设置事件;
A4、所述接口代理模块收到所述数据库访问请求,通过所述接口访问控制块记录接口输入输出参数和应用程序标识信息,向所述接口服务模块发送接口服务请求,并传递所述接口访问控制块标识和数据库访问所需的参数;
A5、所述接口服务模块收到所述接口服务请求,则调用所述统一访问接口函数获得数据,并向所述接口代理模块发送接口服务请求回应消息并传递获取的数据;
A6、所述接口代理模块收到所述接口服务请求回应消息,把收到的数据复制到所述统一访问接口函数的输出缓冲区中,然后把对应的同步对象置为可用,解阻塞并继续执行所述客户端应用程序。
2.根据权利要求1所述的分布式访问方法,其特征在于,所述步骤A2之前,还包括步骤:所述接口代理模块初始化所述数据库的同步对象。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200710075007XA CN101071435B (zh) | 2007-06-08 | 2007-06-08 | 一种基于嵌入式数据库的分布式访问方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200710075007XA CN101071435B (zh) | 2007-06-08 | 2007-06-08 | 一种基于嵌入式数据库的分布式访问方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101071435A CN101071435A (zh) | 2007-11-14 |
CN101071435B true CN101071435B (zh) | 2010-08-18 |
Family
ID=38898659
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200710075007XA Expired - Fee Related CN101071435B (zh) | 2007-06-08 | 2007-06-08 | 一种基于嵌入式数据库的分布式访问方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101071435B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101616132B (zh) * | 2008-06-24 | 2012-10-03 | 中国移动通信集团公司 | 一种数据获取方法及其装置和系统 |
CN102223383B (zh) * | 2011-07-21 | 2014-03-26 | 北京握奇数据系统有限公司 | 一种访问控制方法和装置 |
CN103116655B (zh) * | 2013-03-06 | 2017-10-24 | 亿赞普(北京)科技有限公司 | 集群数据查询方法、客户端及系统 |
CN103593191A (zh) * | 2013-11-19 | 2014-02-19 | 乐视致新电子科技(天津)有限公司 | 调用应用程序数据的方法和装置 |
CN104166812B (zh) * | 2014-06-25 | 2017-05-24 | 中国航天科工集团第二研究院七〇六所 | 一种基于独立授权的数据库安全访问控制方法 |
CN107193668B (zh) * | 2017-04-26 | 2021-01-15 | 深圳中兴网信科技有限公司 | 接口服务端的调用方法及系统 |
CN108363741B (zh) * | 2018-01-22 | 2021-01-26 | 中国平安人寿保险股份有限公司 | 大数据统一接口方法、装置、设备及存储介质 |
-
2007
- 2007-06-08 CN CN200710075007XA patent/CN101071435B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101071435A (zh) | 2007-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107766205B (zh) | 一种面向微服务调用过程跟踪的监控系统及方法 | |
CN101071435B (zh) | 一种基于嵌入式数据库的分布式访问方法 | |
WO2021151312A1 (zh) | 一种确定服务间依赖关系的方法及相关装置 | |
US20200052982A1 (en) | In situ triggered function as a service within a service mesh | |
CN103856392A (zh) | 消息推送方法及其外发服务器和外发服务器系统 | |
JP4171910B2 (ja) | 並列処理システム及び並列処理プログラム | |
EP2194495B1 (en) | A transaction aware, flexible interface for a state correlation and transition execution engine | |
CN101595668A (zh) | 建立协调定时网络中的服务器之间的逻辑路径的方法和系统 | |
CN104572290A (zh) | 消息处理线程的控制方法及装置 | |
CN102831156A (zh) | 一种云计算平台上的分布式事务处理方法 | |
JPS6170654A (ja) | 分散処理システムにおける資源管理方式 | |
US8286194B2 (en) | Coupling state aware systems | |
US20170132256A1 (en) | Cluster-Based Business Process Management Through Eager Displacement And On-Demand Recovery | |
US7934218B2 (en) | Interprocess communication management using a socket layer | |
CN101378403A (zh) | 一种基于集合的资源通知处理系统及处理方法 | |
CN102033741B (zh) | 北向接口系统及其实现方法 | |
US20080163083A1 (en) | Tailored object | |
Pears et al. | Mobile agent fault tolerance for information retrieval applications: An exception handling approach | |
JP2000029730A (ja) | メソッド・インボケーション中にコードを 実行するための方法及びその装置 | |
CN113672240A (zh) | 一种基于容器的多机房批量自动化部署应用的方法及系统 | |
CN101917394A (zh) | 在手机设备上进行数据共享的中间件系统及工作方法 | |
US7490183B2 (en) | Information kit integration architecture for end-user systems | |
CN101189581B (zh) | 用于处理与锁定相关的不一致的方法 | |
Mubeen et al. | Extracting timing models from component-based multi-criticality vehicular embedded systems | |
US20020199022A1 (en) | System and method for establishing and managing communications between mangement protocol different system |
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 | ||
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: 20100818 Termination date: 20160608 |