CN113254262A - 一种数据库容灾方法、装置和电子设备 - Google Patents
一种数据库容灾方法、装置和电子设备 Download PDFInfo
- Publication number
- CN113254262A CN113254262A CN202010090279.2A CN202010090279A CN113254262A CN 113254262 A CN113254262 A CN 113254262A CN 202010090279 A CN202010090279 A CN 202010090279A CN 113254262 A CN113254262 A CN 113254262A
- Authority
- CN
- China
- Prior art keywords
- data
- database
- file
- check point
- field
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02A—TECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
- Y02A10/00—TECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE at coastal zones; at river basins
- Y02A10/40—Controlling or monitoring, e.g. of flood or hurricane; Forecasting, e.g. risk assessment or mapping
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开一种数据库容灾方法,包括:获取生产端数据库的检查点文件,生产端数据库通过数据库表方式存储多个字段;检查点文件为生产端数据库对应的镜像文件;根据检查点文件中各个数据对应的数据库表标识,抽取检查点文件中的各个数据,得到多个数据文件;截取各个数据文件中的数据,得到多个数据片段;数据片段与生产端数据库中的字段一一对应;解析转码数据片段,将解析转码后得到的数据加载到容灾数据库。本发明实施例能够得到检查点文件,抽取该文件得到数据文件,截取数据文件得到数据片段,将转码数据片段得到的数据加载到容灾数据库中,生产端数据库与容灾数据库无需运行在相同架构内存数据库环境下,容灾数据库建设维护成本低。
Description
技术领域
本发明涉及业务支撑及内存数据库领域,尤其涉及一种数据库容灾方法、装置和电子设备。
背景技术
针对内存数据库的容灾需求,目前常用的技术方案为采用“主-备-备”复制模式实现数据容灾,具体为:在生产端数据库的本地部署备用数据库1,在异地部署备用数据库2,生产端数据库复制数据到备用数据库1,再将备用数据库1的数据复制到备用数据库2。该技术方案中,生产端数据库与备用数据库1、备用数据库2只能运行在相同架构的主机、操作系统和内存数据库环境下,因此容灾数据库的建设与维护成本较高。
发明内容
本发明实施例的目的是提供一种数据库容灾方法、装置以及电子设备,以解决生产端数据库与容灾数据库智能运行在相同架构的主机、操作系统和内存数据库环境下导致的容灾数据库的建设与维护成本过高的问题。
为解决上述技术问题,本发明实施例是这样实现的:
第一方面,本发明实施例提供了一种数据库容灾方法,包括:获取来自生产端数据库的检查点文件,生产端数据库通过数据库表的方式存储有多个字段;检查点文件为生产端数据库对应的镜像文件;根据检查点文件中的各个数据对应的数据库表的标识,对检查点文件中的各个数据进行抽取,得到多个数据文件;对各个数据文件中的数据进行截取,得到多个数据片段;数据片段与生产端数据库中的字段一一对应;对数据片段进行解析转码,将解析转码后得到的数据加载到容灾数据库中。
第二方面,本发明实施例提供了一种数据库容灾装置,包括:检查点文件获取模块,用于获取来自生产端数据库的检查点文件,生产端数据库通过数据库表的方式存储有多个字段;检查点文件为生产端数据库对应的镜像文件;数据抽取模块,用于根据检查点文件中的各个数据对应的数据库表的标识,对检查点文件中的各个数据进行抽取,得到多个数据文件;数据截取模块,用于对各个数据文件中的数据进行截取,得到多个数据片段;数据片段与生产端数据库中的字段一一对应;数据转码模块,用于对数据片段进行解析转码,将解析转码后得到的数据加载到容灾数据库中。
第三方面,本发明实施例提供了一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上述第一方面所述的数据库容灾方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面所述的数据库容灾方法。
根据本发明实施例的技术方案,首先,获取来自生产端数据库的检查点文件,生产端数据库通过数据库表的方式存储有多个字段;检查点文件为生产端数据库对应的镜像文件;其次,根据检查点文件中的各个数据对应的数据库表的标识,抽取检查点文件中的各个数据,得到多个数据文件;然后,截取各个数据文件中的数据,得到多个数据片段;数据片段与生产端数据库中的字段一一对应;最后,解析转码数据片段,将解析转码后得到的数据加载到容灾数据库中。通过本发明实施例,能够得到包含生产端数据库存储的数据信息的检查点文件,在抽取检查点文件后得到多个数据文件,在截取数据文件后得到多个数据片段,将解析转码数据片段后得到的数据加载到容灾数据库中,生产端数据库与容灾数据库不需要运行在相同架构的主机、操作系统和内存数据库环境下,容灾数据库的建设与维护成本较低。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的数据库容灾方法的流程示意图;
图2为本发明另一实施例提供数据库容灾方法的流程示意图;
图3为本发明一实施例提供的数据抽取的流程示意图;
图4为本发明一实施例提供的数据解析转码的流程示意图;
图5为本发明一实施例提供的数据库容灾装置的示意框图;
图6为本发明一实施例提供的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
本发明实施例提供了一种数据库容灾方法、数据库容灾装置以及电子设备。该数据库容灾方法可以应用于电子设备侧,由电子设备执行,本发明实施例提及的电子设备包括但不限于手机、平板电脑、电脑、可穿戴设备等电子设备。
图1为本发明一实施例提供的数据库容灾方法的流程示意图。参照图1所示,该方法包括步骤S110、步骤S120、步骤S130以及步骤S140。下面对图1的示例实施例中的数据库容灾方法进行详细的说明。
参照图1所示,在步骤S110中,获取来自生产端数据库的检查点文件,生产端数据库通过数据库表的方式存储有多个字段;检查点文件为生产端数据库对应的镜像文件。
在示例实施例中,生产端数据库是内存数据库,例如TimesTen数据库。内存数据库通过检查点机制实现内存数据在磁盘文件系统中的持久化。检查点文件,是两个互为备份的二进制数据文件DsName.ds0和DsName.ds1,是内存数据库保存在磁盘上的数据镜像。在内存数据库运行时,每隔一段时间进行一次检查点处理,通过检查点进程将内存数据库中改变的数据块刷新到检查点文件中。检查点操作在2个检查点文件中交替执行。有2个检查点文件是为了提高安全性,其中的一个损坏,另外一个还可以继续使用,不会影响数据库工作。
在示例实施例中,在生产端数据库的异地部署异地容灾机房,异地容灾机房包括且不限于容灾数据库,电子设备等。电子设备获取从生产端数据库远程传输来的多个检查点文件。检查点文件可以根据其生成时间来命名。检查点文件包含生产端数据库的所有数据库表的结构和数据信息,每个数据库表中有多个字段。
在示例实施例中,从生产端数据库远程传输检查点文件到异地容灾机房的过程中,对本地与异地之间的网络传输距离、响应速度要求很低,几乎不受传输距离与网络延迟的影响。
在步骤S120中,根据检查点文件中的各个数据对应的数据库表的标识,对检查点文件中的各个数据进行抽取,得到多个数据文件。
在示例实施例中,根据检查点文件中的各个数据对应的数据库表的标识,对检查点文件中的各个数据进行抽取,得到多个数据文件,包括:根据检查点文件中的各个数据对应的数据库表的标识,将检查点文件中的数据分为多组,各组数据与各个数据库表的标识一一对应;分别对各组数据进行抽取,得到各组数据对应的数据文件。
在示例实施例中,检查点文件复制了生产端数据库存储的所有数据,因此,检查点文件中的数据与生产端数据库存储的多个数据库表存在对应关系,例如,若干数据归属于生产端数据库存储的数据库表a,另一部分数据归属于生产端数据库存储的数据库表b,又一部分数据归属于生产端数据库存储的数据库表c等。检查点文件中的数据一定存在对应的数据库表的标识,根据该标识,可以将归属于同一数据库表的数据分为一组,将该组数据进行抽取,得到数据文件。例如,数据1、2、3、4、5、6、7均与数据库表a的标识对应,且仅有这7个数据与数据库表a的标识对应,则将这7个数据分为一组,抽取这一组数据,得到新的数据文件,该数据文件就是与这一组数据对应的数据文件,且该数据文件是与数据库表a对应的数据文件。
需要注意的是,在示例实施例中,检查点文件中的数据不一定要全部抽取出来,可以只抽取指定的数据库表对应的数据。在实际运行中,可以根据容灾端业务系统的需要,选取部分数据库表进行数据抽取,在满足业务需要的情况下,减少数据抽取消耗的时间与抽取后的数据容量。
在示例实施例中,预设需要进行抽取的数据库表,以列表的形式保存在文本文件中,电子设备可以对该文本文件进行编辑修改,以增加或减少需要进行抽取的数据库表。在对检查点文件进行数据抽取时,使用内存数据库诊断分析工具进行对该检查点文件进行循环分析与抽取。根据文本文件中提供的数据库属主名与数据库表名称列表,以其中的每一行为条件进行循环,直至将检查点文件中所有需要提取的数据库表数据提取完成。数据抽取后,以“数据库属主+数据库表”为单位生成新的数据文件。需要抽取多少个数据库表内容,就生成多少个文件。
在示例实施例中,通常情况下,对二进制的检查点文件进行抽取后,得到的新的数据文件是十六进制数据文件。后续步骤中均以数据文件是十六进制数据文件为例进行说明。由二进制数据转换为十六进制数据的理由如下:二进制可以非常直接的和八进制、十六进制进行互相转换,因为8、16分别是2的3次方、4次方。进制越大,数的表达长度超短。如果使用二进制表达数据太长了,而采用将二进制转换成十六进制处理是计算机行业的通用处理方法,例如对网络抓包数据解包等都采用输出十六进制数据文件。
在步骤S130中,对各个数据文件中的数据进行截取,得到多个数据片段;数据片段与生产端数据库中的字段一一对应。
在示例实施例中,对数据文件中的数据进行截取,得到多个数据片段,包括:确定生产端数据库中的各个字段对应的数据片段在数据文件中的存储位置;按照存储位置对数据文件中的数据进行截取,得到多个数据片段。
在示例实施例中,存储位置包括存储起始位置和存储结束位置;确定生产端数据库中的各个字段对应的数据片段在数据文件中的存储位置,包括:获取生产端数据库中的各个字段对应的数据片段在数据文件中的存储长度和偏移量,偏移量为各个字段对应的数据片段在数据文件中的起始存储位置相对于预设存储位置的偏移量;根据偏移量和预设存储位置,确定字段对应的数据片段在数据文件中的存储起始位置,根据字段对应的数据片段的存储起始位置和存储长度,确定字段对应的数据片段在数据文件中的存储结束位置。
在示例实施例中,以数据文件为十六进制数据文件进行说明。存储位置包括存储起始位置和存储结束位置,存储起始位置是数据片段的第一个数据的位置,存储结束位置是数据片段的最后一个数据的位置。例如,某数据片段的起始位置是2,存储结束位置是9,则该数据片段为十六进制数据中的第2位到第9位,共8个数据,数据片段对应的字段长度为8。获取生产端数据库中的各个字段对应的数据片段在数据文件中的存储长度,即字段长度,该字段长度可以预先从生产端数据库中获取,是一个固定值。获取生产端数据库中的各个字段对应的数据片段在数据文件中的偏移量,获取方法如下:在电子设备抽取检查点文件得到以数据库表为单位的多个十六进制数据文件后,根据预先获取的字段数据类型与字段名的先后顺序,确定各个字段的十六进制数据偏移量。确定十六进制数据偏移量的方法可以是,先按照字段数据类型这个大类排序,例如:偏移量从0开始是TT_BIGINT,之后是TT_INTEGER和TINYINT等。然后,在每个字段数据类型的大类中,根据字段前后顺序再次排序,比如:TT_BIGINT中按照字段顺序依次排列字段col_a,字段col_b以及字段col_d等。
在示例实施例中,根据偏移量和预设存储位置,确定字段对应的数据片段在数据文件中的存储起始位置,即偏移量加上预设存储位置就是数据片段在数据文件中的存储起始位置。预设存储位置可以是数据文件中的十六进制数据的第0位。例如,字段a对应的数据片段的偏移量为16,预设存储位置为第0位数据,则字段a对应的数据片段的存储起始位置是第16位数据。
在示例实施例中,根据字段对应的数据片段的存储起始位置和存储长度,确定字段对应的数据片段在数据文件中的存储结束位置,具体为,存储起始位置加存储长度减一。例如:字段a对应的数据片段的存储起始位置是第16位数据,该数据片段的字段长度为2,则字段对应的数据片段在数据文件中的存储结束位置为第17位数据,即该数据片段包括第16位数据、第17位数据共2个数据,计算过程为16+2-1=17。
在示例实施例中,按照存储位置对数据文件中的数据进行截取,得到多个数据片段,具体实施如下:在生产端数据库中的数据库表tbl_a中的col_a字段的十六进制数据偏移量为0,字段长度为16,则数据片段的存储起始位置是0,存储结束位置是15,截取十六进制数据文件tbl_a中的第0位到第15位数字这16个数字作为与字段col_a对应的数据片段。
在步骤S140中,对数据片段进行解析转码,将解析转码后得到的数据加载到容灾数据库中。
在示例实施例中,数据片段为十六进制数据;对数据片段进行解析转码,将解析转码后得到的数据加载到容灾数据库中,包括:将数据片段转换为对应的文本数据,按照各个数据片段所对应的字段在生产端数据库中的排列顺序,将各个文本数据加载到容灾数据库中。
在示例实施例中,数据片段来自于数据文件,数据文件是十六进制数据文件,从数据文件中截取得到的数据片段也是十六进制数据。需要注意的是,十六进制数据文件不止包含十六进制数据,还包含一些与本发明无关的其他形式的数据。
在示例实施例中,如果直接将十六进制数据文件中的十六进制数据导入容灾数据库,会导致容灾数据库中的应用程序无法识别其中内容,同时,也难于对十六进制数据文件中的文件内容进行校验。此外,如果容灾数据库选用与生产端数据库不同类型的异构数据库,也无法使用原有的数据类型。因此,需要将十六进制数据转换为文本数据。
在示例实施例中,十六进制数据的数据片段在解析转码后得到与数据片段对应的文本类型的字符串,例如,十六进制数据的数据片段为“11110000 22221111”,转换为文本类型的字符串“ab”;十六进制数据的数据片段为“00000000 11111111”,转换为文本类型的字符串“12”。
在示例实施例汇总,按照各个数据片段所对应的字段在生产端数据库中的排列顺序,将各个文本数据加载到容灾数据库中,具体为,将各个数据片段转换后得到的字符串按照原字段顺序输出,得到与整个数据文件对应的文本数据,即与某个数据库表对应的文本数据。其中,各个字段的对应的文本数据被预设的自定义字符分隔开。例如,十六进制数据的数据片段为“11110000 22221111”,该数据片段对应的字段是字段col_a,将该数据片段转换为文本类型的字符串“ab”;十六进制数据的数据片段为“00000000 11111111”,该数据片段对应的字段是字段col_b,将该数据片段转换为文本类型的字符串“12”。在生产端数据库中,字段col_a与字段col_b的顺序可根据字段偏移量推出,字段col_a在字段col_b前。预设的用于分隔各个字段的字符为“/”。则根据该顺序,输出结果为“ab/cd”。
在示例实施例中,将整个数据文件对应的文本数据加载到异地容灾机房中的容灾数据库中,数据加载的方法视数据库的类型而定。由于文本数据使用特定字符间隔,所以具有通用性,可以导入任意类型数据库。
根据图1的示例实施例中的数据库容灾方法,首先,获取来自生产端数据库的检查点文件,生产端数据库通过数据库表的方式存储有多个字段;检查点文件为生产端数据库对应的镜像文件;其次,根据检查点文件中的各个数据对应的数据库表的标识,抽取检查点文件中的各个数据,得到多个数据文件;然后,截取各个数据文件中的数据,得到多个数据片段;数据片段与生产端数据库中的字段一一对应;最后,解析转码数据片段,将解析转码后得到的数据加载到容灾数据库中。通过本发明实施例,能够得到包含生产端数据库存储的数据信息的检查点文件,在抽取检查点文件后得到多个数据文件,在截取数据文件后得到多个数据片段,将解析转码数据片段后得到的数据加载到容灾数据库中,生产端数据库与容灾数据库不需要运行在相同架构的主机、操作系统和内存数据库环境下,容灾数据库的建设与维护成本较低。
图2为本发明另一实施例提供数据库容灾方法的流程示意图。
参照图2所示,在步骤S210中,生产系统内存数据库调度刷新检查点文件。
在示例实施例中,在示例实施例中,在本地生产机房的生产系统内存数据库部署刷新检查点脚本,在指定时间点或按照固定时间间隔进行调用。指定时间点或固定时间间隔,根据业务系统对容灾端的数据更新频率需求进行设定。例如,每隔2分钟调用一次刷新检查点脚本,或预设12:00、12:02、12:04……等若干个时刻调用一次刷新检查点脚本。该刷新检查点脚本用来发起一次检查点操作,将生产系统内存数据库中改变的数据块刷新到检查点文件中,此时的检查点文件可以视为生产系统内存数据库的一个完整拷贝。
在示例实施例中,生产系统内存数据库中改变的数据块在内存中是以二进制形式存储,检查点文件是生产系统内存数据库保存在磁盘中的二进制镜像文件,不需要数据转换。
在步骤S220中,网络传输检查点文件至数据抽取模块。
在示例实施例中,在检查点操作完成后,立即调用检查点文件传输进程。该进程在操作系统层面调用网络传输指令,从本地生产机房的生存系统内存数据库将已生成的检查点文件传送到异地数据容灾机房的数据抽取模块。数据抽取模块包括且不限于负责数据抽取的电子设备。电子设备获取所有从生产系统内存数据库传送到异地容灾机房的检查点文件,且将该检查点文件放置于同一个文件系统目录下。
在步骤S230中,数据抽取模块抽取检查点文件得到十六进制数据文件。
在示例实施例中,数据抽取模块中的电子设备发现存放检查点文件的目录中存在还未抽取数据的检查点文件后,按时间顺序将检查点文件名记入待抽取列表。按时间先后顺序选取检查点文件并生成与该检查点文件对应的锁文件。根据容灾端业务系统的需要,选取部分数据库表进行数据抽取,预先将需要抽取数据的数据库表以列表的形式保存在文本文件。
在示例实施例中,根据被选取的检查点文件的名称,使用内存数据库诊断分析工具进行对该检查点文件进行循环分析与抽取。根据保存有需要抽取数据的数据库表的文本文件中提供的数据库属主名与表名称列表,以其中的每一行为条件进行循环,直至将检查点文件中所有需要提取的数据库表数据提取完成。数据抽取后,以“数据库属主+数据库表”为单位生成新的数据文件。抽取了多少个数据库表的数据,就得到多少个数据文件。数据文件可以是十六进制数据文件,在数据抽取的过程中将原本检查点文件中的二进制数据转换为十六进制数据写入新的数据文件。
在步骤S240中,预先确定解析策略配置文件。
在示例实施例中,生产系统内存数据库中的一张特定的数据库表中各个字段对应的在步骤S230中得到的数据文件中的十六进制数据中的十六进制数据偏移量和字段长度是固定的。因此,可以根据此特点建立解析策略配置文件,在解析策略配置文件中按照内存数据库类型、数据库表名、字段名、字段数据类型、十六进制数据偏移量、字段长度进行配置。
在示例实施例中,内存数据库类型、数据库表名、字段名、字段数据类型、字段长度,可以从生产系统内存数据库的表结构中提取获取。例如,字段col_a对应的各项参数包括:内存数据库类型为TimesTen,数据库表名为tbl_a,字段名为col_a,字段数据类型为TT_BIGINT,字段长度为16,以上参数都可以从生产系统内存数据库中提前获取。
在示例实施例中,生产系统内存数据库中的各个数据库表中的每个字段对应的十六进制数据偏移量,是从检查点文件抽取输出的数据文件中的十六进制数据中获取的,十六进制数据偏移量的起始位置为十六进制数据的第0位,根据字段数据类型、字段名的顺序,以及每个字段数据类型定义的具体长度,依次获取到每个字段在十六进制数据中的十六进制数据偏移量。获取该十六进制数据偏移量只能在异地容灾机房的数据抽取模块的电子设备抽取检查点文件得到多个数据文件后,其中,该数据文件为十六进制数据文件。需要注意的是,一张特定的数据库表中的各个字段在数据文件中的十六进制数据中的十六进制数据偏移量和字段长度是固定的。
表1
在示例实施例中,参照表1所示,在数据库表tbl_a对应的十六进制数据文件中,第0位数字开始到第15位是col_a字段,16-31是col_b字段,32-47是col_d字段,48-63是col_f字段,64-71是col_c字段,72-73是col_e字段,74-75是col_g字段,76-99是col_h字段,100-119是col_i字段。
在示例实施例中,在电子设备抽取检查点文件得到以数据库表为单位的多个十六进制数据文件后,根据字段数据类型与字段名的先后顺序,确定各个字段的十六进制数据偏移量。确定十六进制数据偏移量的方法可以是,先按照字段数据类型这个大类排序,例如:偏移量从0开始是TT_BIGINT,之后是TT_INTEGER和TINYINT等。然后,在每个字段数据类型的大类中,根据字段前后顺序再次排序,比如:TT_BIGINT中按照字段顺序依次排列字段col_a,字段col_b以及字段col_d等。
在步骤S250中,调用解析策略配置文件,对多个十六进制数据文件进行解析,得到文本数据。
在示例实施例中,调用解析策略配置文件,根据解析策略配置文件中存储的信息,确定生产端数据库中的数据库表中的各个字段在十六进制数据文件中对应的数据片段的位置信息与各个字段在十六进制数据文件中对应的数据片段的数据类型信息。根据位置信息与数据类型信息,按照数据库表中定义的字段顺序对将检查点文件抽取得到的十六进制数据文件进行数据截取,得到与生产端数据库的数据库表中的各个字段一一对应的数据片段。对截取到的数据片段进行解析转码。解析转码后,十六进制数据被解析成文本类型的字符串。将解析后的字符串顺序输出到文本中,每个字段之间使用自定义的字符进行分割,得到与整个十六进制数据文件对应的文本数据。
在步骤S260中,将文本数据加载到容灾数据库中。
在示例实施例中,将解析得到的文本数据加载到异地容灾机房中的容灾数据库中,数据加载的方法视数据库的类型而定。由于文本数据使用特定字符间隔,所以具有通用性,可以导入任意类型数据库。
图3为本发明一实施例提供的抽取检查点文件的流程示意图。
参照图3所示,在步骤S310中,发现未抽取的检查点文件后,按时间顺序记入待抽取列表。
在示例实施例中,由操作系统级别的调度作业发起,并且循环执行。当发现存放检查点文件的目录中存在未抽取数据的检查点文件后,按时间顺序将检查点文件名称记入待抽取列表。
在步骤S320中,按照时间先后顺序对检查点文件加锁,并启用抽取进程。
在示例实施例中,按时间先后顺序选取检查点文件,并在目录下生成与该检查点文件对应的锁文件。锁文件并不是抽取程序建立的与原检查点文件内容相同的新文件,而是抽取程序运行时创建的一个以“原检查点文件名.lock”格式命名的文件。锁文件无内容,仅用来标识此时该检查点文件正在进行数据抽取,防止抽取调度程序重复处理。
在步骤S330中,生成需要进行数据抽取的数据库表名称列表。
在示例实施例中,检查点文件是内存数据库的完整镜像,包含内存数据库的所有数据库表的结构和数据信息。此处可以根据容灾端业务系统的需要,选取部分数据库表进行数据抽取,在满足业务需要的情况下,减少数据抽取消耗的时间与抽取后的数据容量。
在示例实施例中,需要抽取数据的数据库表以列表的形式保存在文本文件中,该文本文件可以被编辑,以达到根据业务需要增加或减少需要抽取数据的数据库表的目的。该文本文件的格式可以如下所示:
“数据库表的属主A.数据库表名称1”
“数据库表的属主A.数据库表名称2”
……
“数据库表的属主A.数据库表名称n”
“数据库表的属主B.数据库表名称1”
……
在步骤S340中,抽取检查点文件,将抽取结果写入新文件。
在示例实施例中,接收步骤S320中传入的检查点文件名称,使用内存数据库诊断分析工具对该检查点文件进行循环分析与抽取。循环的条件为步骤S330中提供的数据库属主名与表名称列表,以其中的每一行为条件进行循环,直至将检查点文件中所有需要提取的数据库表数据提取完成。数据抽取后,以“数据库属主+数据库表”为单位生成新的文件。需要抽取多少个数据库表的数据,就生成多少个文件。
在示例实施例中,抽取模块输出的数据示例如下:
0000049872355656 0d36e4e6 b344f1d4 00003c1b c72d0dde+.6...D....<..-..+0000049872355672 00000000 00000002 00000000 0000000a+...................+
在示例实施例中,上述“0d36e4e6”“b344f1d4”“00003c1b”“c72d0dde”“00000000”“00000002”“00000000”“0000000a”8个数均为十六进制数据,是从检查点文件中抽取得到的。
在步骤S350中,将已经抽取完成的检查点文件名称记录在日志中,并删除该检查点文件。
在示例实施例中,在步骤S340完成后,在日志中记录该过程,并将已完成数据抽取的检查点文件删除。
图4为本发明一实施例提供的解析转码数据片段的流程示意图。
参照图4所示,在步骤S410中,调用解析策略配置文件,识别字段位置。
在示例实施例中,调用解析策略配置文件。根据需要解析的数据库类型及数据表名称,从解析策略配置文件获取该表共有多少个字段,以及每个字段的长度和十六进制数据偏移量。根据每个字段的长度和十六进制数据偏移量,可以确定与该字段在十六进制数据文件中对应的数据片段的位置信息。
在示例实施例中,解析策略配置文件包括且不限于:预先从生产端数据库中获取的内存数据库类型、数据库表名、字段名、字段数据类型、字段长度。解析策略配置文件还包括,在来自生产端数据库中的检查点文件被抽取得到的十六进制数据文件后,根据字段数据类型和字段名确定的十六进制数据偏移量。
在步骤S420中,调用解析策略配置文件,识别字段数据类型。
在示例实施例中,调用解析策略配置文件,将每个字段与其数据类型相匹配。字段的数据类型包括且不限于TT_BIGINT、TT_INTEGER、TT_TINYINT以及TT_CHAR。确定各个字段的数据类型,则可以确定与各个字段在十六进制数据文件中对应的数据片段的数据类型信息。
在步骤S430中,根据内存数据库表的存储结构,按照字段顺序截取数据,并进行数据解析转码。
在示例实施例中,根据步骤S410、步骤S420中得到的数据片段的位置信息与数据片段的数据类型信息,按照数据库表中定义的字段顺序对将检查点文件抽取得到的十六进制数据文件进行数据截取,得到与生产端数据库的数据库表中的各个字段一一对应的数据片段。例如,调用解析策略配置文件,可知在生产端数据库中的数据库表tbl_a中的col_a字段的十六进制数据偏移量为0,字段长度为16,数据类型为TT_BIGINT,则截取十六进制数据文件tbl_a中的第0位到第15位数字这16个数字作为与字段col_a对应的数据片段。根据数据类型信息,将截取到的数据片段进行解析转码,得到文本类型的字符串。例如,根据数据类型TT_BIGINT,将十六进制数据文件tbl_a中的第0位到第15位数字这16个数字组成的数据片段进行解析转码,得到文本类型的字符串“abcd”。
在示例实施例中,数据截取与解析按照生产端内存数据库表中定义的字段顺序进行,方法示例如下:Hex2Decimal(linedata.substring(0,16),"TT_BIGINT")。其中,0为该字段在十六进制数据中的偏移量,16为字段长度,TT_BIGINT为字段的数据类型。上述三个参数均已在配置策略文件中定义。
在步骤S440中,结果输出。
在示例实施例中,解析后的结果顺序输出到文本中,每个字段之间使用自定义的字符进行分割,到此完成了对一个数据库表对应的数据文件中的单行数据的解析。例如,截取十六进制数据文件tbl_a中的第0位到第15位数字这16个数字作为与字段col_a对应的数据片段,截取十六进制数据文件tbl_a中的第16位到第31位数字这16个数字作为与字段col_b对应的数据片段,将与字段col_a对应的数据片段根据数据类型TT_BIGINT进行解析转码,得到文本类型的字符串“abcd”,将与字段col_b对应的数据片段根据数据类型TT_BIGINT进行解析转码,得到文本类型的字符串“1234”,自定义的分割字符为“\”,则按照字段col_a与col_b在生产端数据库中的数据库表tbl_a中的顺序,输出“abcd\1234”到文本中。
在示例实施例中,在完成了一个数据库表对应的数据文件中的单行数据的解析后,循环执行步骤S410、S420、S430、S440,直至该数据库表对应的数据文件中所有数据行的内容全部解析完成。
图5为本发明一实施例提供的数据库容灾装置的示意框图。
参照图5所示,该数据库容灾装置500包括:检查点文件获取模块510、数据抽取模块520、数据截取模块530以及数据转码模块540。其中,检查点获取模块510,用于获取来自生产端数据库的检查点文件,生产端数据库通过数据库表的方式存储有多个字段;检查点文件为生产端数据库对应的镜像文件;数据抽取模块520,用于根据检查点文件中的各个数据对应的数据库表的标识,对检查点文件中的各个数据进行抽取,得到多个数据文件;数据截取模块530,用于对各个数据文件中的数据进行截取,得到多个数据片段;数据片段与生产端数据库中的字段一一对应;数据转码模块540,用于对数据片段进行解析转码,将解析转码后得到的数据加载到容灾数据库中。
在本发明的一些实施例中,基于上述方案,数据抽取模块520,包括:数据分组单元,用于根据检查点文件中的各个数据对应的数据库表的标识,将检查点文件中的数据分为多组,各组数据与各个数据库表的标识一一对应;数据抽取单元,用于分别对各组数据进行抽取,得到各组数据对应的数据文件。
在本发明的一些实施例中,基于上述方案,数据截取模块530,包括:存储位置确定单元,用于确定生产端数据库中的各个字段对应的数据片段在数据文件中的存储位置;数据截取单元,用于按照存储位置对数据文件中的数据进行截取,得到多个数据片段。
在本发明的一些实施例中,基于上述方案,存储位置包括存储起始位置和存储结束位置;存储位置确定单元,包括:长度偏移量获取单元,用于获取生产端数据库中的各个字段对应的数据片段在数据文件中的存储长度和偏移量,偏移量为各个字段对应的数据片段在数据文件中的起始存储位置相对于预设存储位置的偏移量;起始结束位置确定单元,用于根据偏移量和预设存储位置,确定字段对应的数据片段在数据文件中的存储起始位置,根据字段对应的数据片段的存储起始位置和存储长度,确定字段对应的数据片段在数据文件中的存储结束位置。
在本发明的一些实施例中,基于上述方案,数据片段为十六进制数据;数据转码模块540,包括:文本数据加载单元,用于将数据片段转换为对应的文本数据,按照各个数据片段所对应的字段在生产端数据库中的排列顺序,将各个文本数据加载到容灾数据库中。
根据本发明实施例提供的技术方案,首先,获取来自生产端数据库的检查点文件,生产端数据库通过数据库表的方式存储有多个字段;检查点文件为生产端数据库对应的镜像文件;其次,根据检查点文件中的各个数据对应的数据库表的标识,抽取检查点文件中的各个数据,得到多个数据文件;然后,截取各个数据文件中的数据,得到多个数据片段;数据片段与生产端数据库中的字段一一对应;最后,解析转码数据片段,将解析转码后得到的数据加载到容灾数据库中。通过本发明实施例,能够得到包含生产端数据库存储的数据信息的检查点文件,在抽取检查点文件后得到多个数据文件,在截取数据文件后得到多个数据片段,将解析转码数据片段后得到的数据加载到容灾数据库中,生产端数据库与容灾数据库不需要运行在相同架构的主机、操作系统和内存数据库环境下,容灾数据库的建设与维护成本较低。
需要说明的是,本发明实施例中提供的数据库容灾装置能够实现前述的数据库容灾方法的各个过程,并达到相同的功能和效果,这里不再重复。
进一步地,本发明实施例还提供了一种电子设备,图6为本发明一实施例提供的电子设备的结构示意图。如图6所示,该电子设备包括:存储器601、处理器602、总线603和通信接口604。存储器601、处理器602和通信接口604通过总线603进行通信,通信接口604可以包括输入输出接口,输入输出接口包括但不限于键盘、鼠标、显示器、麦克风、扩音器等。
参照图6所示,存储器601上存储有可在处理器602上运行的计算机可执行指令,计算机可执行指令被处理器602执行时实现以下流程:
获取来自生产端数据库的检查点文件,生产端数据库通过数据库表的方式存储有多个字段;检查点文件为生产端数据库对应的镜像文件;根据检查点文件中的各个数据对应的数据库表的标识,对检查点文件中的各个数据进行抽取,得到多个数据文件;对各个数据文件中的数据进行截取,得到多个数据片段;数据片段与生产端数据库中的字段一一对应;对数据片段进行解析转码,将解析转码后得到的数据加载到容灾数据库中。
可选地,计算机可执行指令被处理器执行时,根据检查点文件中的各个数据对应的数据库表的标识,对检查点文件中的各个数据进行抽取,得到多个数据文件,包括:根据检查点文件中的各个数据对应的数据库表的标识,将检查点文件中的数据分为多组,各组数据与各个数据库表的标识一一对应;分别对各组数据进行抽取,得到各组数据对应的数据文件。
可选地,计算机可执行指令被处理器执行时,对数据文件中的数据进行截取,得到多个数据片段,包括:确定生产端数据库中的各个字段对应的数据片段在数据文件中的存储位置;按照存储位置对数据文件中的数据进行截取,得到多个数据片段。
可选地,计算机可执行指令被处理器执行时,存储位置包括存储起始位置和存储结束位置;确定生产端数据库中的各个字段对应的数据片段在数据文件中的存储位置,包括:获取生产端数据库中的各个字段对应的数据片段在数据文件中的存储长度和偏移量,偏移量为各个字段对应的数据片段在数据文件中的起始存储位置相对于预设存储位置的偏移量;根据偏移量和预设存储位置,确定字段对应的数据片段在数据文件中的存储起始位置,根据字段对应的数据片段的存储起始位置和存储长度,确定字段对应的数据片段在数据文件中的存储结束位置。
可选地,计算机可执行指令被处理器执行时,数据片段为十六进制数据;对数据片段进行解析转码,将解析转码后得到的数据加载到容灾数据库中,包括:将数据片段转换为对应的文本数据,按照各个数据片段所对应的字段在生产端数据库中的排列顺序,将各个文本数据加载到容灾数据库中。
根据本发明实施例提供的技术方案,首先,获取来自生产端数据库的检查点文件,生产端数据库通过数据库表的方式存储有多个字段;检查点文件为生产端数据库对应的镜像文件;其次,根据检查点文件中的各个数据对应的数据库表的标识,抽取检查点文件中的各个数据,得到多个数据文件;然后,截取各个数据文件中的数据,得到多个数据片段;数据片段与生产端数据库中的字段一一对应;最后,解析转码数据片段,将解析转码后得到的数据加载到容灾数据库中。通过本发明实施例,能够得到包含生产端数据库存储的数据信息的检查点文件,在抽取检查点文件后得到多个数据文件,在截取数据文件后得到多个数据片段,将解析转码数据片段后得到的数据加载到容灾数据库中,生产端数据库与容灾数据库不需要运行在相同架构的主机、操作系统和内存数据库环境下,容灾数据库的建设与维护成本较低。
本发明实施例中的移动终端能够实现前述数据库容灾方法的各个过程,并达到相同的效果和功能,这里不再重复。
进一步地,本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述数据库容灾方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random AccessMemory,简称RAM)、磁碟或者光盘等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明上述实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。
Claims (8)
1.一种数据库容灾方法,其特征在于,包括:
获取来自生产端数据库的检查点文件,所述生产端数据库通过数据库表的方式存储有多个字段;所述检查点文件为所述生产端数据库对应的镜像文件;
根据所述检查点文件中的各个数据对应的数据库表的标识,对所述检查点文件中的各个数据进行抽取,得到多个数据文件;
对各个所述数据文件中的数据进行截取,得到多个数据片段;所述数据片段与所述生产端数据库中的字段一一对应;
对所述数据片段进行解析转码,将解析转码后得到的数据加载到容灾数据库中。
2.根据权利要求1所述的方法,其特征在于,所述根据所述检查点文件中的各个数据对应的数据库表的标识,对所述检查点文件中的各个数据进行抽取,得到多个数据文件,包括:
根据所述检查点文件中的各个数据对应的数据库表的标识,将所述检查点文件中的数据分为多组,各组数据与各个所述数据库表的标识一一对应;
分别对各组数据进行抽取,得到各组数据对应的数据文件。
3.根据权利要求1所述的方法,其特征在于,对所述数据文件中的数据进行截取,得到多个数据片段,包括:
确定所述生产端数据库中的各个字段对应的数据片段在所述数据文件中的存储位置;
按照所述存储位置对所述数据文件中的数据进行截取,得到多个数据片段。
4.根据权利要求3所述的方法,其特征在于,所述存储位置包括存储起始位置和存储结束位置;确定所述生产端数据库中的各个字段对应的数据片段在所述数据文件中的存储位置,包括:
获取所述生产端数据库中的各个字段对应的数据片段在所述数据文件中的存储长度和偏移量,所述偏移量为各个字段对应的数据片段在所述数据文件中的起始存储位置相对于预设存储位置的偏移量;
根据所述偏移量和所述预设存储位置,确定所述字段对应的数据片段在所述数据文件中的存储起始位置,根据所述字段对应的数据片段的存储起始位置和所述存储长度,确定所述字段对应的数据片段在所述数据文件中的存储结束位置。
5.根据权利要求1所述的方法,其特征在于,所述数据片段为十六进制数据;对所述数据片段进行解析转码,将解析转码后得到的数据加载到容灾数据库中,包括:
将所述数据片段转换为对应的文本数据,按照各个所述数据片段所对应的所述字段在所述生产端数据库中的排列顺序,将各个所述文本数据加载到容灾数据库中。
6.一种数据库容灾装置,其特征在于,包括:
检查点文件获取模块,用于获取来自生产端数据库的检查点文件,所述生产端数据库通过数据库表的方式存储有多个字段;所述检查点文件为所述生产端数据库对应的镜像文件;
数据抽取模块,用于根据所述检查点文件中的各个数据对应的数据库表的标识,对所述检查点文件中的各个数据进行抽取,得到多个数据文件;
数据截取模块,用于对各个所述数据文件中的数据进行截取,得到多个数据片段;所述数据片段与所述生产端数据库中的字段一一对应;
数据转码模块,用于对所述数据片段进行解析转码,将解析转码后得到的数据加载到容灾数据库中。
7.一种电子设备,其特征在于,包括存储器和处理器,所述存储器上存储有计算机可执行指令,所述计算机可执行指令在上述处理器上运行时,能够实现上述权利要求1-5任一项所述的数据库容灾方法。
8.一种存储介质,该存储介质中存储有计算机可执行指令,其特征在于,所述计算机可执行指令在被处理器执行时,能够实现上述权利要求1-5任一项所述的数据库容灾方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010090279.2A CN113254262B (zh) | 2020-02-13 | 2020-02-13 | 一种数据库容灾方法、装置和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010090279.2A CN113254262B (zh) | 2020-02-13 | 2020-02-13 | 一种数据库容灾方法、装置和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113254262A true CN113254262A (zh) | 2021-08-13 |
CN113254262B CN113254262B (zh) | 2023-09-05 |
Family
ID=77219821
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010090279.2A Active CN113254262B (zh) | 2020-02-13 | 2020-02-13 | 一种数据库容灾方法、装置和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113254262B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101989929A (zh) * | 2010-11-17 | 2011-03-23 | 中兴通讯股份有限公司 | 容灾数据备份的方法及系统 |
US20140172803A1 (en) * | 2012-12-19 | 2014-06-19 | Microsoft Corporation | Main-memory database checkpointing |
CN104391891A (zh) * | 2014-11-11 | 2015-03-04 | 上海新炬网络信息技术有限公司 | 一种数据库异构复制方法 |
CN104834635A (zh) * | 2014-02-07 | 2015-08-12 | 中国移动通信集团广东有限公司 | 一种数据处理方法和装置 |
CN105183581A (zh) * | 2015-07-23 | 2015-12-23 | 深圳市沃信科技有限公司 | 一种数据库容灾系统 |
CN106445727A (zh) * | 2015-08-07 | 2017-02-22 | 中国移动通信集团重庆有限公司 | 数据备份和恢复方法及系统 |
CN108763276A (zh) * | 2018-04-09 | 2018-11-06 | 中国电力科学研究院有限公司 | 一种基于关系型数据库转存大数据平台的方法及系统 |
-
2020
- 2020-02-13 CN CN202010090279.2A patent/CN113254262B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101989929A (zh) * | 2010-11-17 | 2011-03-23 | 中兴通讯股份有限公司 | 容灾数据备份的方法及系统 |
US20140172803A1 (en) * | 2012-12-19 | 2014-06-19 | Microsoft Corporation | Main-memory database checkpointing |
CN104834635A (zh) * | 2014-02-07 | 2015-08-12 | 中国移动通信集团广东有限公司 | 一种数据处理方法和装置 |
CN104391891A (zh) * | 2014-11-11 | 2015-03-04 | 上海新炬网络信息技术有限公司 | 一种数据库异构复制方法 |
CN105183581A (zh) * | 2015-07-23 | 2015-12-23 | 深圳市沃信科技有限公司 | 一种数据库容灾系统 |
CN106445727A (zh) * | 2015-08-07 | 2017-02-22 | 中国移动通信集团重庆有限公司 | 数据备份和恢复方法及系统 |
CN108763276A (zh) * | 2018-04-09 | 2018-11-06 | 中国电力科学研究院有限公司 | 一种基于关系型数据库转存大数据平台的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113254262B (zh) | 2023-09-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112000741B (zh) | 内外网数据交换系统、方法、装置、计算机设备和介质 | |
CN107317724B (zh) | 基于云计算技术的数据采集系统及方法 | |
CN109800207B (zh) | 日志解析方法、装置、设备及计算机可读存储介质 | |
WO2018126964A1 (zh) | 任务执行方法、装置和服务器 | |
CN111683066B (zh) | 异构系统集成方法、装置、计算机设备和存储介质 | |
CN109241184B (zh) | 数据同步方法、装置、计算机设备和存储介质 | |
CN111061678B (zh) | 业务数据处理方法、装置、计算机设备和存储介质 | |
CN112650529B (zh) | 可配置生成移动端app代码的系统及方法 | |
CN110532182B (zh) | 一种虚拟化平台的自动化测试方法及装置 | |
CN111144402A (zh) | Ocr识别准确率的计算方法、装置、设备以及存储介质 | |
CN115203159B (zh) | 一种数据存储方法、装置、计算机设备和存储介质 | |
CN110248030B (zh) | 短信补偿机制的测试方法、装置、设备及存储介质 | |
CN104268163A (zh) | 一种网管网元配置界面的实现方法及系统 | |
CN115630618A (zh) | 一种pdf文档的智能场景化编辑方法、系统、设备及介质 | |
CN112860412B (zh) | 业务数据处理方法、装置、电子设备及存储介质 | |
CN108108478B (zh) | 数据格式转换方法、系统及电子设备 | |
CN107291938B (zh) | 订单查询系统及方法 | |
CN112347355A (zh) | 数据处理方法、装置、服务器及存储介质 | |
CN110442439B (zh) | 任务进程处理方法、装置和计算机设备 | |
CN109614592B (zh) | 文本的处理方法、装置、存储介质和电子设备 | |
CN113254262B (zh) | 一种数据库容灾方法、装置和电子设备 | |
CN115794756A (zh) | 一种仿真文件的压缩方法及装置、设备、存储介质 | |
CN115543202A (zh) | 缓存管理方法、读取方法、系统、电子设备及存储介质 | |
CN114936227A (zh) | 数据校验方法、数据校验系统、电子设备及存储介质 | |
CN109960630B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |