CN101930463B - 一种基于内存数据库的仿真网格节点快速迁移方法 - Google Patents
一种基于内存数据库的仿真网格节点快速迁移方法 Download PDFInfo
- Publication number
- CN101930463B CN101930463B CN2010102622275A CN201010262227A CN101930463B CN 101930463 B CN101930463 B CN 101930463B CN 2010102622275 A CN2010102622275 A CN 2010102622275A CN 201010262227 A CN201010262227 A CN 201010262227A CN 101930463 B CN101930463 B CN 101930463B
- Authority
- CN
- China
- Prior art keywords
- emulation
- simulation
- migration
- node
- state
- 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
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于内存数据库的仿真网格节点快速迁移方法,利用内存数据库实时建立各仿真节点完整的状态镜像集,并进行状态镜像的分布式收集与管理,通过设计仿真网格中的仿真运行管理、状态监测和节点迁移与恢复等机制,完成故障仿真节点探测、仿真过程暂停运行控制、故障节点或进程迁移、故障节点状态镜像注入和仿真过程继续运行控制,从而实现仿真网格中故障节点的快速迁移。
Description
技术领域
本发明涉及一种基于内存数据库的仿真网格节点快速迁移方法,尤其涉及一种基于内存数据库实现仿真网格中故障节点快速向其他节点动态迁移的方法,属于分布交互仿真技术领域。
背景技术
基于HLA(High Level Architecture,高层体系结构)的分布式仿真已经广泛应用于军事、科学研究、工程、商业等方面,并发挥着越来越大的作用。在面对当前分布式仿真向大规模发展和需要使用在地理位置上处于分布式的计算资源和数据资源时,传统的基于HLA的分布式仿真存在一定的局限,仿真网格这门新兴的技术则应运而生,其利用网格计算技术的各项优势将传统的分布式仿真移植到网格环境中,实现仿真任务的自动分配、负载均衡、运行监测和结果回收等功能,提升了仿真系统的运行效率和可用性。但是,无论HLA规范还是当前主要的RTI产品都没有提供相应的容错机制和节点迁移方法,随着仿真规模的扩大、仿真时间的增长,系统的故障率也随之大幅升高,如果某个关键仿真进程或节点崩溃,将导致整个分布式仿真系统停止运行,仅重启崩溃的仿真进程或节点又会导致系统状态的不一致,此时只能重新启动整个仿真系统,从而造成人力、物力和时间的极大浪费。目前,国内外已在分布式仿真系统容错和仿真节点迁移方面开展了一些研究,但都侧重功能和整体框架的实现,如《系统仿真学报》第19卷第13期发表的“基于HLA的分布式仿真负载平衡研究”一文,主要对基于HLA的分布式仿真负载平衡框架和仿真迁移过程的管理方法进行研究,解决的是基于HLA的分布式仿真中负载平衡的问题,没有涉及实现迁移的具体技术途径,缺乏对仿真节点迁移的效率和可靠性进行深入分析和研究,与本发明的权利要求没有冲突。
发明内容
本发明解决的技术问题是:克服现有技术的不足,提供一种基于内存数据库的仿真网格节点快速迁移方法,解决了仿真网格中仿真节点状态信息收集不完整、失效仿真节点迁移速度慢和适用性差等问题,实现了仿真节点状态镜像的完整和快速的构建以及失效仿真节点的快速迁移和重构,从而大大提高了整个仿真网格的适用性和可靠性。
本发明的技术解决方案是:一种基于内存数据库的仿真网格节点快速迁移方法,包括以下步骤:
(1)各仿真节点通过HLA/RTI进行仿真交互,管理节点与各仿真节点通过FTP和TCP/IP协议进行资源传递、指令和状态交互,在管理节点中安装仿真迁移服务器,在各仿真节点中安装仿真迁移客户端;
(2)运行仿真迁移服务器和仿真迁移客户端,仿真迁移服务器创建仿真资源库和基于内存数据库中心仿真状态镜像库,并通知仿真迁移客户端;仿真迁移客户端接到通知后创建基于内存数据库本地状态镜像库,根据仿真迁移服务器指令下载仿真资源并开展仿真运行,同时定时向仿真迁移服务器汇报仿真节点运行状态;
(3)在仿真运行过程中,各仿真节点的仿真迁移客户端负责实时构建各仿真节点的完整状态镜像,加入状态标签后存入基于内存数据库本地状态镜像库进行状态缓存,并构建本地状态镜像集合,同时通过网络实时将所有本地存储的状态镜像汇集到基于内存数据库中心仿真状态镜像库中;
(4)当仿真迁移服务器根据各仿真节点的运行状态检测出有仿真节点发生故障或运行负载过重,仿真迁移服务器向所有仿真迁移客户端发出暂停仿真运行指令,对基于内存数据库中心仿真状态镜像库所有的状态标签进行比对,从所有仿真节点均具有一致的状态标签的集合中选择最晚时间状态标签作为仿真重新运行的状态标签起点,进而确定需要迁移或状态回退的节点列表,以及迁移的目的节点,目的迁移节点为异地节点或本地节点;
(5)在进行仿真节点异地迁移时,仿真迁移服务器向所有目的迁移节点发送仿真迁移信息,通知仿真迁移客户端进行仿真资源请求和重新运行的状态标签起点,仿真迁移客户端从基于内存数据库中心仿真状态镜像库中快速下载所需的状态镜像,状态镜像更新完毕后,该仿真节点加载新状态镜像,并将新状态镜像作为仿真继续运行起点,并报告仿真迁移服务器,等待仿真迁移服务器指令,待所有仿真节点准备就绪再一起进行仿真;
(6)在进行本地迁移时,仿真迁移客户端根据重新运行的状态标签起点,直接从基于内存数据库本地状态镜像库加载重新运行的状态镜像作为仿真继续运行起点,并报告仿真迁移服务器,等待仿真迁移服务器指令,待所有仿真节点准备就绪再一起进行仿真;
(7)仿真迁移服务器收集所有参加仿真的仿真迁移客户端的状态报告信息,当所有迁移节点准备就绪,则迁移节点重新开始仿真运行,其余未迁移节点继续运行。
本发明与现有技术相比具有的有益效果是:本发明将内存数据库技术应用于分布交互仿真领域,利用内存数据库实时建立各仿真节点完整的状态镜像集,并进行状态镜像的分布式收集与管理,实现了仿真节点完整状态镜像的在内存上的快速构建、存取、分布式同步与备份,大大提高系统的快速性和运行效率;通过设计仿真网格中的仿真运行管理、状态监测和节点迁移与恢复等机制,完成故障仿真节点探测、仿真过程暂停运行控制、故障节点或进程迁移、故障节点状态镜像注入和仿真过程继续运行控制,从而实现仿真网格中故障节点的快速迁移,实现了分布仿真系统的快速容错和自动负载均衡能力,增强了系统的稳定性和健壮性;本发明所涉及的仿真运行监测与控制、通讯和数据库等功能,都是基于HLA/RTI所提供的功能和其他标准协议和数据库,并不对HLA/RTI作任何修改,不会影响HLA仿真系统功能,具有良好的通用性。
附图说明
图1为本发明的系统结构框图;
图2为本发明的仿真迁移服务器处理过程图;
图3为本发明的仿真迁移客户端处理过程图;
图4为本发明的仿真镜像库的多层次存储结构图;
具体实施方式
下面结合附图和具体实施例对本发明作进一步详细的说明:
由本发明所实现的仿真迁移系统(包括服务器组件和客户端组件),与分布式仿真平台和仿真模型协同使用,为分布式仿真平台提供快速的仿真节点迁移能力和系统容错能力。如图1所示,各仿真节点通过HLA/RTI进行仿真交互,管理节点与各仿真节点通过FTP和TCP/IP协议进行资源传递、指令和状态交互。管理节点中包含的软件主要有仿真迁移服务器、中心仿真状态镜像库和仿真资源库,仿真节点中包含的软件主要有仿真迁移客户端、分布式仿真平台、本地仿真模型和本地仿真状态镜像库。在仿真节点中,分布式仿真平台负责提供仿真模型的运行环境和通讯支撑,并向仿真迁移系统提供仿真运行控制接口,可以实现仿真运行初始化、仿真模型调度、加入/退出联邦、仿真状态查询、仿真运行控制(如开始运行、暂停运行、继续运行和停止运行)等功能。
仿真模型提供两个接口,其一是仿真状态镜像自动输出接口,用于运行过程中的对外输出带有状态标签的完整仿真状态镜像;其二仿真状态镜像更新接口,用于更新模型当前的所有状态,使得仿真模型能够以一个新的状态起点进行运行。
本发明主要由仿真迁移服务器和仿真迁移客户端组成。
仿真迁移服务器主要负责仿真网格中的仿真资源的分发、仿真过程的运行控制(包括:开始、暂停、继续和停止等)、仿真节点运行情况的实时监测与自动异常处理、仿真节点迁移和恢复的管理和调度、基于实时内存数据库的中心仿真状态镜像库的创建、分布式同步和管理等功能,仿真迁移服务器的处理过程如图2所示,具体处理步骤如下:
(1)启动服务器端软件;
(2)创建仿真资源库;
(3)创建中心仿真状态镜像库,并初始化;
(4)通知客户端创建仿真运行;
(5)等待接收客户端信息和数据;
(5.1)如果接收到客户端状态镜像,则将客户端状态镜像汇集到中心仿真状态进行数据库;
(5.2)如果接收到客户端仿真资源请求信息,则通知客户端下载仿真资源;
(5.3)如果接收到客户端状态镜像请求信息,则通知客户端下载状态镜像数据;
(5.3)如果接收到客户端运行信息,则对客户端运行信息进行分类处理;
(6)客户端运行信息进行分类处理;
(6.1)如果接收到客户端节点运行信息,则判断是否有节点发生故障,如果没有仿真节点发生故障就继续等待接收信息和数据;如果有仿真节点发生故障则通知所有客户端暂停仿真运行,制定迁移策略并确定迁移节点,通知需要进行迁移的目的客户端下载仿真资源;
(6.2)如果接收到客户端节点负载信息,则判断是否有节点负载过重,如果没有节点负载过重就继续等待接收信息和数据;如果有仿真节点负载过重,则通知所有客户端暂停仿真运行,制定迁移策略并确定迁移节点,通知需要进行迁移的目的客户端下载仿真资源;
(6.3)如果接收到节点准备信息,则判断是否所有迁移节点准备就绪,如果,如果不是所有节点都准备就绪就继续等待接收信息和数据;如果所有迁移节点准备就绪则通知新启动客户端开始仿真运行,其他客户端继续仿真运行。
仿真迁移客户端主要负责向仿真迁移服务器实时汇报仿真节点运行情况、根据仿真迁移服务器控制指令信息完成仿真运行控制和节点迁移与恢复、从仿真资源库下载仿真资源、创建基于内存数据库的本地状态镜像库,实时接受本地仿真模型的状态更新,以及完成与中心仿真状态镜像库的实时同步,仿真迁移客户端的处理过程如图3所示,具体处理步骤如下:
(1)启动客户端软件;
(2)创建本地状态镜像库并初始化;
(3)向服务器端报告客户端运行信息;
(4)接收服务器段信息和数据;
(5)如果接收到是仿真资源数据,则根据状态标签加载本地状态镜像,加入仿真运行,并通知服务器端该节点准备就绪;
(6)如果接收到本地状态镜像数据,则将状态镜像数据写入本地状态镜像数据库;
(7)如果接收的是服务器段的控制信息,则根据信息类型分别处理;
(7.1)如果是仿真迁移信息,则更新本地状态镜像数据,并向服务器端请求仿真资源;
(7.2)如果是开始运行信息,则向服务器端请求仿真资源;
(7.3)如果是继续运行信息,则继续仿真运行;
(7.4)如果是暂停运行信息,则暂停仿真运行;
存储于内存数据库中的仿真状态镜像库(包括仿真管理节点中的中心仿真状态镜像库和仿真节点中的本地仿真状态镜像库)的存储结构如图4所示。两类仿真状态镜像库具体存储内容如下(其中:T为仿真步长,m,n,k为正整数,可以根据具体应用进行调整):
中心仿真状态镜像库存储了所有参与仿真的仿真模型的状态镜像,存储两类时间间隔的状态镜像,即从仿真开始到现在的时间间隔为n*k*T的m个时刻的全局仿真状态镜像,以及从共保存从(m-1)*n*k*T开始到现在的时间间隔为k*T的n个时刻的所有全局仿真状态镜像。
本地仿真状态镜像存储了本地仿真模型的状态镜像,是全局仿真状态镜像的子集,存储两类时间间隔的状态镜像,即从(m-1)*n*k*T开始到现在的时间间隔为k*T的n个时刻的本地仿真状态镜像,以及从(m*n-1)*k*T开始到现在的时间间隔为T的k个时刻的本地仿真状态镜像。
所述的仿真状态镜像指的是仿真实体状态发生变化时,除外部输入信息和自身不变的属性参数以外的仿真实体自身的所有状态信息,包括的内部中间信息、内部状态信息和对外发布的状态信息。
所述的状态镜像标签指的是基于仿真步长的仿真运行推进的逻辑时间信息。
所述的本地仿真状态镜像库指的是仿真节点本地内存数据库中存储的本地仿真模型的仿真状态镜像。
所述的中心仿真状态镜像库指的是管理节点内存数据库中存储的所有参与仿真的仿真模型的仿真状态镜像。
所述的仿真资源指的是仿真运行所需要的静态仿真模型和相关文件等。
具体实施步骤如下:
(1)各仿真节点通过HLA/RTI进行仿真交互,管理节点与各仿真节点通过FTP和TCP/IP协议进行资源传递、指令和状态交互,在管理节点中安装仿真迁移服务器,在各仿真节点中安装仿真迁移客户端;
(2)运行仿真迁移服务器和仿真迁移客户端,仿真迁移服务器创建仿真资源库和基于内存数据库中心仿真状态镜像库,并通知仿真迁移客户端;仿真迁移客户端接到通知后创建基于内存数据库本地状态镜像库,根据仿真迁移服务器指令下载仿真资源并开展仿真运行,同时定时向仿真迁移服务器汇报仿真节点运行状态;本地仿真状态镜像是全局仿真状态镜像的子集,存储了本地仿真模型的小时间间隔的状态镜像,存储结构如图4所示。
(3)在仿真运行过程中,各仿真节点的仿真迁移客户端负责实时构建各仿真节点的完整状态镜像,加入状态标签后存入基于内存数据库本地状态镜像库进行状态缓存,并构建本地状态镜像集合,同时通过网络实时将所有本地存储的状态镜像汇集到基于内存数据库中心仿真状态镜像库中;
(4)当仿真迁移服务器根据各仿真节点的运行状态检测出有仿真节点发生故障或运行负载过重,仿真迁移服务器向所有仿真迁移客户端发出暂停仿真运行指令,对基于内存数据库中心仿真状态镜像库所有的状态标签进行比对,从所有仿真节点均具有一致的状态标签的集合中选择最晚时间状态标签作为仿真重新运行的状态标签起点,进而确定需要迁移或状态回退的节点列表,以及迁移的目的节点,目的迁移节点为异地节点或本地节点;
(5)在进行仿真节点异地迁移时,仿真迁移服务器向所有目的迁移节点发送仿真迁移信息,通知仿真迁移客户端进行仿真资源请求和重新运行的状态标签起点,仿真迁移客户端从基于内存数据库中心仿真状态镜像库中快速下载所需的状态镜像,状态镜像更新完毕后,该仿真节点加载新状态镜像,并将新状态镜像作为仿真继续运行起点,并报告仿真迁移服务器,等待仿真迁移服务器指令,待所有仿真节点准备就绪再一起进行仿真;
(6)在进行本地迁移时,仿真迁移客户端根据重新运行的状态标签起点,直接从基于内存数据库本地状态镜像库加载重新运行的状态镜像作为仿真继续运行起点,并报告仿真迁移服务器,等待仿真迁移服务器指令,待所有仿真节点准备就绪再一起进行仿真;
(7)仿真迁移服务器收集所有参加仿真的仿真迁移客户端的状态报告信息,当所有迁移节点准备就绪,则迁移节点重新开始仿真运行,其余未迁移节点继续运行。
发明未详细说明部分属本领域技术人员公知常识。
Claims (1)
1.一种基于内存数据库的仿真网格节点快速迁移方法,其特征在于包括以下步骤:
(1)各仿真节点通过HLA/RTI进行仿真交互,其中HLA为高层体系结构,管理节点与各仿真节点通过FTP和TCP/IP协议进行资源传递、指令和状态交互,在管理节点中安装仿真迁移服务器,在各仿真节点中安装仿真迁移客户端;
(2)运行仿真迁移服务器和仿真迁移客户端,仿真迁移服务器创建仿真资源库和基于内存数据库的中心仿真状态镜像库,并通知仿真迁移客户端;仿真迁移客户端接到通知后创建基于内存数据库的本地仿真状态镜像库,根据仿真迁移服务器指令下载仿真资源并开展仿真运行,同时定时向仿真迁移服务器汇报仿真节点运行状态;
中心仿真状态镜像库存储所有参与仿真的仿真模型的全局仿真状态镜像,本地仿真状态镜像库存储本地仿真模型的小时间间隔的本地仿真状态镜像,本地仿真状态镜像是全局仿真状态镜像的子集;
(3)在仿真运行过程中,各仿真节点的仿真迁移客户端负责实时构建各仿真节点的完整仿真状态镜像,加入状态标签后存入基于内存数据库的本地仿真状态镜像库进行状态缓存,并构建本地仿真状态镜像集合,同时通过网络实时将所有本地存储的仿真状态镜像汇集到基于内存数据库的中心仿真状态镜像库中;
(4)当仿真迁移服务器根据各仿真节点的运行状态检测出有仿真节点发生故障或运行负载过重,仿真迁移服务器向所有仿真迁移客户端发出暂停仿真运行指令,对基于内存数据库的中心仿真状态镜像库所有的状态标签进行比对,从所有仿真节点均具有一致的状态标签的集合中选择最晚时间状态标签作为仿真重新运行的状态标签起点,进而确定需要迁移或状态回退的节点列表,以及目的迁移节点,目的迁移节点为异地节点或本地节点;
(5)在进行仿真节点异地迁移时,仿真迁移服务器向所有目的迁移节点发送仿真迁移信息,通知仿真迁移客户端进行仿真资源请求和重新运行的状态标签起点,仿真迁移客户端从基于内存数据库的中心仿真状态镜像库中快速下载所需的仿真状态镜像,仿真状态镜像更新完毕后,仿真节点加载新仿真状态镜像,并将新仿真状态镜像作为仿真继续运行起点,并报告仿真迁移服务器,等待仿真迁移服务器指令,待所有仿真节点准备就绪再一起进行仿真;
(6)在进行本地迁移时,仿真迁移客户端根据重新运行的状态标签起点,直接从基于内存数据库的本地仿真状态镜像库加载重新运行的仿真状态镜像作为仿真继续运行起点,并报告仿真迁移服务器,等待仿真迁移服务器指令,待所有仿真节点准备就绪再一起进行仿真;
(7)仿真迁移服务器收集所有参加仿真的仿真迁移客户端的状态报告信息,当所有迁移节点准备就绪,则迁移节点重新开始仿真运行,其余未迁移节点继续运行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102622275A CN101930463B (zh) | 2010-08-25 | 2010-08-25 | 一种基于内存数据库的仿真网格节点快速迁移方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102622275A CN101930463B (zh) | 2010-08-25 | 2010-08-25 | 一种基于内存数据库的仿真网格节点快速迁移方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101930463A CN101930463A (zh) | 2010-12-29 |
CN101930463B true CN101930463B (zh) | 2012-06-20 |
Family
ID=43369640
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010102622275A Active CN101930463B (zh) | 2010-08-25 | 2010-08-25 | 一种基于内存数据库的仿真网格节点快速迁移方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101930463B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102122254A (zh) * | 2011-02-25 | 2011-07-13 | 南京大学 | 一种基于逻辑时钟的智能空间感知方法 |
CN102201907B (zh) * | 2011-03-04 | 2014-05-21 | 于辉 | 一种分布式仿真同步的实现方法 |
CN102148873B (zh) * | 2011-03-25 | 2014-06-11 | 中国电子科技集团公司第三十研究所 | 一种分布式仿真双总线控制管理系统 |
CN102289391B (zh) * | 2011-06-30 | 2014-03-26 | 华中科技大学 | 一种虚拟实验系统中仿真进程迁移方法 |
CN103139606A (zh) * | 2011-11-29 | 2013-06-05 | 苏州达联信息科技有限公司 | 一种视频直播分发网络的业务失效远程探测方法及装置 |
CN103383689A (zh) * | 2012-05-03 | 2013-11-06 | 阿里巴巴集团控股有限公司 | 一种服务进程故障检测方法、装置及服务节点 |
WO2016067299A1 (en) * | 2014-10-30 | 2016-05-06 | Hewlett-Packard Development Company, L.P. | Location aware failover solution |
CN111177892B (zh) * | 2019-12-11 | 2023-05-02 | 中电普信(北京)科技发展有限公司 | 一种分布式仿真系统 |
-
2010
- 2010-08-25 CN CN2010102622275A patent/CN101930463B/zh active Active
Non-Patent Citations (2)
Title |
---|
张灏龙等.基于桌面网格的分布交互仿真平台.《计算机集成制造系统》.2010,第16卷(第7期),1383-1389. * |
朱恒晔等.基于HLA的分布式仿真负载平衡研究.《系统仿真学报》.2007,第19卷(第13期),2964-2967、3072. * |
Also Published As
Publication number | Publication date |
---|---|
CN101930463A (zh) | 2010-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101930463B (zh) | 一种基于内存数据库的仿真网格节点快速迁移方法 | |
CN100547973C (zh) | 一种基于对等网络的高性能计算系统 | |
Dahiphale et al. | An advanced mapreduce: cloud mapreduce, enhancements and applications | |
US20160048408A1 (en) | Replication of virtualized infrastructure within distributed computing environments | |
EP2972983B1 (en) | Dynamically managing memberships in replicated state machines within a distributed computing environment | |
CN103338135B (zh) | 一种集群存储容量的实时监控方法 | |
CN101442555B (zh) | 面向hla的仿真资源代理服务系统 | |
CN102724304A (zh) | 订阅/发布系统中信息仓库联邦及数据同步方法 | |
CN110942387A (zh) | 基于微服务的电票业务功能构建方法和系统 | |
CN106657314A (zh) | 跨数据中心数据同步系统及方法 | |
US20110060721A1 (en) | Offline downloader | |
CN107430606A (zh) | 具有并行持久性的消息代理系统 | |
CN105630589A (zh) | 分布式流程调度系统及流程调度、执行方法 | |
CN103716397B (zh) | 一种面向服务仿真时钟推进方法 | |
CN107544783A (zh) | 一种数据更新方法、装置及系统 | |
CN105871603A (zh) | 一种基于内存数据网格的实时流式数据处理失效恢复系统及方法 | |
CN105721582A (zh) | 多节点文件备份系统 | |
CN103116525A (zh) | 一种Internet环境下MapReduce计算方法 | |
CN101727496A (zh) | 一种实现microsoft sql server数据库负载均衡集群的方法 | |
CN102946411A (zh) | 网络同步系统 | |
Smid et al. | Case study on data communication in microservice architecture | |
CN110569113A (zh) | 分布式任务的调度方法及系统、计算机可读存储介质 | |
CN109901948A (zh) | 无共享数据库集群异地双活容灾系统 | |
Louati et al. | Lxcloud-cr: towards linux containers distributed hash table based checkpoint-restart | |
CN104468722A (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 |