CN107122489A - 一种数据对比方法及装置 - Google Patents

一种数据对比方法及装置 Download PDF

Info

Publication number
CN107122489A
CN107122489A CN201710330177.1A CN201710330177A CN107122489A CN 107122489 A CN107122489 A CN 107122489A CN 201710330177 A CN201710330177 A CN 201710330177A CN 107122489 A CN107122489 A CN 107122489A
Authority
CN
China
Prior art keywords
target matrix
data
sub
line
data comparison
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.)
Granted
Application number
CN201710330177.1A
Other languages
English (en)
Other versions
CN107122489B (zh
Inventor
张远斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN201710330177.1A priority Critical patent/CN107122489B/zh
Publication of CN107122489A publication Critical patent/CN107122489A/zh
Application granted granted Critical
Publication of CN107122489B publication Critical patent/CN107122489B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/214Database migration support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/215Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/219Managing data history or versioning

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种数据对比方法及装置,其中该方法包括:由数据迁移得到的多个数据表中确定出目标数据表,并为每个所述目标数据表生成一个对应的调度线程;利用每个调度线程基于对应目标数据表的行数生成多个子线程;利用每个调度线程将对应目标数据表按行数划分成多个子表,并利用每个目标数据表对应的多个子线程对该目标数据表的多个子表并行进行数据对比操作。本申请公开的技术方案中,对于数据迁移得到的每个目标数据表,生成对应的调度线程,并利用该调度线程生成多个子线程,以利用同一目标数据表的多个子线程对该目标数据表划分得到的多个子表同时进行并行数据对比操作,从而大大提高了数据对比的对比速度。

Description

一种数据对比方法及装置
技术领域
本发明涉及数据迁移技术领域,更具体地说,涉及一种数据对比方法及装置。
背景技术
随着系统的不断发展,原有的旧系统从启用到被新系统取代,在其使用期间往往积累了大量珍贵的历史数据,其中许多历史数据都是新系统顺利启用所必须的,此时则需要将这些历史数据由旧系统中迁移至新系统中。具体来说,数据迁移,就是将这些历史数据进行清洗、转换,并装载到新系统中的过程。数据在迁移完成前后必须保证数据的正确性、完整性。现有技术在这两方面做的都没有问题,但是都存在数据对比的速度缓慢的问题,特别是对于大数据量来说情况更严重。
综上所述,现有技术中用于在数据迁移完成前后实现数据对比的技术方案存在对比速度缓慢的问题。
发明内容
本发明的目的是提供一种数据对比方法及装置,以解决现有技术中用于在数据迁移完成前后实现数据对比的技术方案存在的对比速度缓慢的问题。
为了实现上述目的,本发明提供如下技术方案:
一种数据对比方法,包括:
由数据迁移得到的多个数据表中确定出目标数据表,并为每个所述目标数据表生成一个对应的调度线程;
利用每个调度线程基于对应目标数据表的行数生成多个子线程;
利用每个调度线程将对应目标数据表按行数划分成多个子表,并利用每个目标数据表对应的多个子线程对该目标数据表的多个子表并行进行数据对比操作。
优选的,由数据迁移得到的多个数据表中确定出目标数据表,包括:
获取数据迁移得到的每个数据表的大小,并确定数据表的大小大于预设值的数据表为目标数据表。
优选的,为每个所述目标数据表生成一个对应的调度线程,包括:
在cpu的多个cpu核上生成与每个所述目标数据表对应的调度线程,其中所述cpu核与所述调度线程一一对应。
优选的,利用每个目标数据表对应的多个子线程对该目标数据表的多个子表并行进行数据对比操作,包括:
如果任一所述目标数据表的子表数量大于对应子线程的数量,则在该目标数据表的调度线程接收到任一对应子线程完成数据对比操作的消息后,利用所述调度线程指示该子线程对未被进行过数据对比操作的其他对应子表进行数据对比操作。
优选的,还包括:
如果任一子线程在进行数据对比操作过程中出现错误,则重启该子线程。
一种数据对比装置,包括:
第一生成模块,用于:由数据迁移得到的多个数据表中确定出目标数据表,并为每个所述目标数据表生成一个对应的调度线程;
第二生成模块,用于:利用每个调度线程基于对应目标数据表的行数生成多个子线程;
数据对比模块,用于:利用每个调度线程将对应目标数据表按行数划分成多个子表,并利用每个目标数据表对应的多个子线程对该目标数据表的多个子表并行进行数据对比操作。
优选的,所述第一生成模块包括:
确定单元,用于:获取数据迁移得到的每个数据表的大小,并确定数据表的大小大于预设值的数据表为目标数据表。
优选的,所述第一生成模块包括:
生成单元,用于:在cpu的多个cpu核上生成与每个所述目标数据表对应的调度线程,其中所述cpu核与所述调度线程一一对应。
优选的,所述数据对比模块包括:
数据对比单元,用于:如果任一所述目标数据表的子表数量大于对应子线程的数量,则在该目标数据表的调度线程接收到任一对应子线程完成数据对比操作的消息后,利用所述调度线程指示该子线程对未被进行过数据对比操作的其他对应子表进行数据对比操作。
优选的,还包括:
重启模块,用于:如果任一子线程在进行数据对比操作过程中出现错误,则重启该子线程。
本发明提供了一种数据对比方法及装置,其中该方法包括:由数据迁移得到的多个数据表中确定出目标数据表,并为每个所述目标数据表生成一个对应的调度线程;利用每个调度线程基于对应目标数据表的行数生成多个子线程;利用每个调度线程将对应目标数据表按行数划分成多个子表,并利用每个目标数据表对应的多个子线程对该目标数据表的多个子表并行进行数据对比操作。本申请公开的技术方案中,对于数据迁移得到的每个目标数据表,生成对应的调度线程,并利用该调度线程生成多个子线程,以利用同一目标数据表的多个子线程对该目标数据表划分得到的多个子表同时进行并行数据对比操作,从而大大提高了数据对比的对比速度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种数据对比方法的流程图;
图2为本发明实施例提供的一种数据对比装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,其示出了本发明实施例提供的一种数据对比方法的流程图,可以包括:
S11:由数据迁移得到的多个数据表中确定出目标数据表,并为每个目标数据表生成一个对应的调度线程。
数据迁移过程完成后,可以在新系统中得到多个存储有迁移的数据的数据表,由这些数据表中确定出目标数据表具体可以是确定全部数据表均为目标数据表,或者按照预先设定的原则选取一部分数据表为目标数据表等,均在本发明的保护范围之内。确定出目标数据表后,为每个目标数据表生成一个对应的调度线程,由此每个目标数据表均具有一个调度线程,该调度线程作为目标数据表及后续生成子线程的管理线程。
S12:利用每个调度线程基于对应目标数据表的行数生成多个子线程。
针对任一目标数据表及对应调度线程对上述利用调度线程生成多个子线程进行具体说明,调度线程可以确定目标数据表的行数,按照行数越多生成的子线程越多的原则生成多个子线程,具体来说,可以预先设定一个原则,如不同的行数范围对应不同的子线程个数,由此确定出目标数据表的行数在哪个行数范围内,进而生成该行数范围对应个数的子线程。
S13:利用每个调度线程将对应目标数据表按行数划分成多个子表,并利用每个目标数据表对应的多个子线程对该目标数据表的多个子表并行进行数据对比操作。
利用每个调度线程将对应目标数据表按行数划分成多个子表,具体来说可以预先设定每个子表包含的指定行数,由此将目标数据表划分成多个具有指定行数个行的子表,当然如果划分得到一些子表之后剩余的行数小于指定行数,则将剩余的这些行作为一个子表,由此利用同一目标数据表的多个子线程对该目标数据表的多个子表同时进行并行数据对比操作。需要说明的是,如果子线程数量大于或者等于对应子表的数量,则可以利用与子表数量相同数量个子线程对这些子表进行并行数据对比,如果子线程数量小于对应子表的数量,则可以利用每个子线程对子线程数量个子表进行并行数据对比。
本申请公开的技术方案中,对于数据迁移得到的每个目标数据表,生成对应的调度线程,并利用该调度线程生成多个子线程,以利用同一目标数据表的多个子线程对该目标数据表划分得到的多个子表同时进行并行数据对比操作,从而大大提高了数据对比的对比速度。
本发明实施例提供的一种数据对比方法,由数据迁移得到的多个数据表中确定出目标数据表,可以包括:
获取数据迁移得到的每个数据表的大小,并确定数据表的大小大于预设值的数据表为目标数据表。
确定出每个数据表的大小,并将其大小大于预先根据实际需要设定的预设值的数据表确定为目标数据表,其中预设值可以为10M,由此对较大的数据表按照本申请公开的步骤S11至步骤S13进行数据对比,对于其他数据表则可以按照现有技术中的方式利用一个线程一行一行的进行数据比对,从而不仅保证了数据对比的速度,而且能够节省资源。
本发明实施例提供的一种数据对比方法,为每个目标数据表生成一个对应的调度线程,可以包括:
在cpu的多个cpu核上生成与每个目标数据表对应的调度线程,其中cpu核与调度线程一一对应。
在cpu的多个cpu核上生成调度线程,且调度线程与cpu核一一对应,由此能够充分利用计算机的cpu资源,进一步加快了数据对比速度。
本发明实施例提供的一种数据对比方法,利用每个目标数据表对应的多个子线程对该目标数据表的多个子表并行进行数据对比操作,可以包括:
如果任一目标数据表的子表数量大于对应子线程的数量,则在该目标数据表的调度线程接收到任一对应子线程完成数据对比操作的消息后,利用调度线程指示该子线程对未被进行过数据对比操作的其他对应子表进行数据对比操作。
各个子线程可以实时向对应调度线程汇报操作执行情况,对于子表数量大于子线程数量的目标数据表,如果调度线程接收到任一子线程返回的操作完成的信息,则利用该子线程实现剩余子表的数据对比操作,从而充分利用了多线程的执行能力,加快了数据对比。如果没有剩余的未被执行数据对比操作的子表,则确定数据对比完成。
本发明实施例提供的一种数据对比方法,还可以包括:
如果任一子线程在进行数据对比操作过程中出现错误,则重启该子线程。
如果子线程在进行数据对比操作中出现错误,则重启该子线程,并在重启后判断该子线程是否能够正常工作,如果是,则利用该子线程实现对应数据对比操作,如果否,则再对该子线程进行重启,并在重启后判断该子线程是否能够正常工作,以此类推,直至该子线程被重启根据实际需要设定的预设次数(如3次)后或者该子线程被重启至能够正常工作后。其中如果子线程重启预设次数后还是不能正常工作,则可以利用调度线程重新生成一个子线程来完成无法正常工作的子线程应完成的工作。从而保证了数据对比操作的顺利进行。
本发明实施例还提供了一种数据对比装置,如图2所示,可以包括:
第一生成模块11,用于:由数据迁移得到的多个数据表中确定出目标数据表,并为每个目标数据表生成一个对应的调度线程;
第二生成模块12,用于:利用每个调度线程基于对应目标数据表的行数生成多个子线程;
数据对比模块13,用于:利用每个调度线程将对应目标数据表按行数划分成多个子表,并利用每个目标数据表对应的多个子线程对该目标数据表的多个子表并行进行数据对比操作。
本发明实施例提供的一种数据对比装置,第一生成模块可以包括:
确定单元,用于:获取数据迁移得到的每个数据表的大小,并确定数据表的大小大于预设值的数据表为目标数据表。
本发明实施例提供的一种数据对比装置,第一生成模块可以包括:
生成单元,用于:在cpu的多个cpu核上生成与每个目标数据表对应的调度线程,其中cpu核与调度线程一一对应。
本发明实施例提供的一种数据对比装置,数据对比模块可以包括:
数据对比单元,用于:如果任一目标数据表的子表数量大于对应子线程的数量,则在该目标数据表的调度线程接收到任一对应子线程完成数据对比操作的消息后,利用调度线程指示该子线程对未被进行过数据对比操作的其他对应子表进行数据对比操作。
本发明实施例提供的一种数据对比装置,还可以包括:
重启模块,用于:如果任一子线程在进行数据对比操作过程中出现错误,则重启该子线程
本发明实施例提供的一种数据对比装置中相关部分的说明请参见本发明实施例提供的一种数据对比方法中对应部分的详细说明,在此不再赘述。另外本发明实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种数据对比方法,其特征在于,包括:
由数据迁移得到的多个数据表中确定出目标数据表,并为每个所述目标数据表生成一个对应的调度线程;
利用每个调度线程基于对应目标数据表的行数生成多个子线程;
利用每个调度线程将对应目标数据表按行数划分成多个子表,并利用每个目标数据表对应的多个子线程对该目标数据表的多个子表并行进行数据对比操作。
2.根据权利要求1所述的方法,其特征在于,由数据迁移得到的多个数据表中确定出目标数据表,包括:
获取数据迁移得到的每个数据表的大小,并确定数据表的大小大于预设值的数据表为目标数据表。
3.根据权利要求2所述的方法,其特征在于,为每个所述目标数据表生成一个对应的调度线程,包括:
在cpu的多个cpu核上生成与每个所述目标数据表对应的调度线程,其中所述cpu核与所述调度线程一一对应。
4.根据权利要求1所述的方法,其特征在于,利用每个目标数据表对应的多个子线程对该目标数据表的多个子表并行进行数据对比操作,包括:
如果任一所述目标数据表的子表数量大于对应子线程的数量,则在该目标数据表的调度线程接收到任一对应子线程完成数据对比操作的消息后,利用所述调度线程指示该子线程对未被进行过数据对比操作的其他对应子表进行数据对比操作。
5.根据权利要求1所述的方法,其特征在于,还包括:
如果任一子线程在进行数据对比操作过程中出现错误,则重启该子线程。
6.一种数据对比装置,其特征在于,包括:
第一生成模块,用于:由数据迁移得到的多个数据表中确定出目标数据表,并为每个所述目标数据表生成一个对应的调度线程;
第二生成模块,用于:利用每个调度线程基于对应目标数据表的行数生成多个子线程;
数据对比模块,用于:利用每个调度线程将对应目标数据表按行数划分成多个子表,并利用每个目标数据表对应的多个子线程对该目标数据表的多个子表并行进行数据对比操作。
7.根据权利要求6所述的装置,其特征在于,所述第一生成模块包括:
确定单元,用于:获取数据迁移得到的每个数据表的大小,并确定数据表的大小大于预设值的数据表为目标数据表。
8.根据权利要求7所述的装置,其特征在于,所述第一生成模块包括:
生成单元,用于:在cpu的多个cpu核上生成与每个所述目标数据表对应的调度线程,其中所述cpu核与所述调度线程一一对应。
9.根据权利要求6所述的装置,其特征在于,所述数据对比模块包括:
数据对比单元,用于:如果任一所述目标数据表的子表数量大于对应子线程的数量,则在该目标数据表的调度线程接收到任一对应子线程完成数据对比操作的消息后,利用所述调度线程指示该子线程对未被进行过数据对比操作的其他对应子表进行数据对比操作。
10.根据权利要求6所述的装置,其特征在于,还包括:
重启模块,用于:如果任一子线程在进行数据对比操作过程中出现错误,则重启该子线程。
CN201710330177.1A 2017-05-11 2017-05-11 一种数据对比方法及装置 Active CN107122489B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710330177.1A CN107122489B (zh) 2017-05-11 2017-05-11 一种数据对比方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710330177.1A CN107122489B (zh) 2017-05-11 2017-05-11 一种数据对比方法及装置

Publications (2)

Publication Number Publication Date
CN107122489A true CN107122489A (zh) 2017-09-01
CN107122489B CN107122489B (zh) 2021-03-09

Family

ID=59728061

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710330177.1A Active CN107122489B (zh) 2017-05-11 2017-05-11 一种数据对比方法及装置

Country Status (1)

Country Link
CN (1) CN107122489B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110287182A (zh) * 2019-05-05 2019-09-27 浙江吉利控股集团有限公司 一种大数据的数据对比方法、装置、设备及终端

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140324770A1 (en) * 2010-11-10 2014-10-30 Rave Wireless, Inc. Data management system
CN105468473A (zh) * 2014-07-16 2016-04-06 北京奇虎科技有限公司 数据迁移方法及数据迁移装置
CN106020959A (zh) * 2016-05-24 2016-10-12 郑州悉知信息科技股份有限公司 一种数据迁移方法和装置
US20170063910A1 (en) * 2015-08-31 2017-03-02 Splunk Inc. Enterprise security graph

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140324770A1 (en) * 2010-11-10 2014-10-30 Rave Wireless, Inc. Data management system
CN105468473A (zh) * 2014-07-16 2016-04-06 北京奇虎科技有限公司 数据迁移方法及数据迁移装置
US20170063910A1 (en) * 2015-08-31 2017-03-02 Splunk Inc. Enterprise security graph
CN106020959A (zh) * 2016-05-24 2016-10-12 郑州悉知信息科技股份有限公司 一种数据迁移方法和装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110287182A (zh) * 2019-05-05 2019-09-27 浙江吉利控股集团有限公司 一种大数据的数据对比方法、装置、设备及终端

Also Published As

Publication number Publication date
CN107122489B (zh) 2021-03-09

Similar Documents

Publication Publication Date Title
CN110597616B (zh) 一种神经网络的内存分配方法及装置
CN103634379B (zh) 一种分布式存储空间的管理方法和分布式存储系统
CN102611576B (zh) 一种生成网管配置模型文件的方法及装置
CN110389905A (zh) 资源释放方法、资源分配方法、设备和计算机程序产品
CN106445835A (zh) 内存分配方法与装置
CN109271360A (zh) 分布式对象存储数据冗余方法、装置、设备及存储介质
CN105812175A (zh) 一种资源管理方法及资源管理设备
US9292405B2 (en) HANA based multiple scenario simulation enabling automated decision making for complex business processes
CN110046638A (zh) 多平台间数据的融合方法、装置及设备
CN107193649A (zh) 一种基于numa系统的任务调度方法及装置
CN108833592A (zh) 云主机调度器优化方法、装置、设备及存储介质
CN108829802A (zh) 关联日志回放方法及装置
DE102016104108A1 (de) Systeme und Verfahren zur verteilten skalierbaren Strahlenverarbeitung
CN107122489A (zh) 一种数据对比方法及装置
CN110515734A (zh) 数据处理任务的负载处理方法及装置
CN107291507A (zh) 一种虚拟机虚拟硬盘的升级方法及电子设备
CN104866375B (zh) 一种迁移虚拟机的方法及装置
CN106202374A (zh) 一种数据处理方法及装置
DE112020003382T5 (de) Umwandeln von Speicherpools mit großem Speicherbereich in Speicherpools mit kleinem Speicherbereich am Speicherort
DE112020003457T5 (de) Umwandeln von speicherpools mit kleinem speicherbereich in speicherpools mit grossem speicherbereich am speicherort
CN105373451A (zh) 一种虚拟机放置的方法及装置
CN106897224A (zh) 一种软件测试范围的确定方法及装置
CN107168800A (zh) 一种内存分配方法及装置
CN107104829B (zh) 一种基于网络拓扑数据的物理设备匹配分配方法及装置
CN110018866A (zh) 用户界面主题更新方法、装置、系统、车机及车辆

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20210205

Address after: Building 9, No.1, guanpu Road, Guoxiang street, Wuzhong Economic Development Zone, Wuzhong District, Suzhou City, Jiangsu Province

Applicant after: SUZHOU LANGCHAO INTELLIGENT TECHNOLOGY Co.,Ltd.

Address before: Room 1601, floor 16, 278 Xinyi Road, Zhengdong New District, Zhengzhou City, Henan Province

Applicant before: ZHENGZHOU YUNHAI INFORMATION TECHNOLOGY Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant