数据库同步方法、装置、电子设备和存储介质

文档序号:34597 发布日期:2021-09-24 浏览:21次 >En<

阅读说明:本技术 数据库同步方法、装置、电子设备和存储介质 (Database synchronization method and device, electronic equipment and storage medium ) 是由 俞翼飞 于 2021-06-23 设计创作,主要内容包括:本申请涉及数据库同步技术领域,具体公开了一种数据库同步方法、装置、电子设备和存储介质,其中,数据库同步方法包括:获取元数据字典,所述元数据字典用于记录待同步数据库对应的元数据库的数据结构特征;对所述待同步数据库进行特征提取,得到第一数据库特征;根据所述第一数据库特征和所述待同步数据库对应的元数据库的数据结构特征,生成第一同步指令;根据所述第一同步指令,对所述待同步数据库进行同步操作,以使所述待同步数据库的数据结构与所述待同步数据库对应的元数据库的数据结构相同。(The application relates to the technical field of database synchronization, and particularly discloses a database synchronization method, a database synchronization device, electronic equipment and a storage medium, wherein the database synchronization method comprises the following steps: acquiring a metadata dictionary, wherein the metadata dictionary is used for recording data structure characteristics of a metadata database corresponding to a database to be synchronized; performing feature extraction on the database to be synchronized to obtain first database features; generating a first synchronization instruction according to the first database characteristic and the data structure characteristic of the metadata database corresponding to the database to be synchronized; and carrying out synchronous operation on the database to be synchronized according to the first synchronous instruction so as to enable the data structure of the database to be synchronized to be the same as that of the metadata database corresponding to the database to be synchronized.)

数据库同步方法、装置、电子设备和存储介质

技术领域

本发明涉及数据库同步

技术领域

,具体涉及一种数据库同步方法、装置、电子设备和存储介质。

背景技术

由于云环境的使用习惯和目的需求不同,即便是云环境的提供方也无法保证每个云环境的数据库在交付后可以保持数据库结构的一致性。目前,为了保证每个云环境的数据库的数据库结构在交付后依然保持一致性,云环境的提供方或运维方需要提供一套同步机制来保持各个云环境下的数据库的数据库结构的同步。但是,现有的同步机制通常采用整个源数据库覆盖的形式进行数据库结构一致性调整,同步效率低下。

发明内容

为了解决现有技术中存在的上述问题,本申请实施方式提供了一种数据库同步方法、装置、电子设备和存储介质,可以提高对数据库的同步效率。

第一方面,本申请的实施方式提供了一种数据库同步方法,包括:

获取元数据字典,元数据字典用于记录待同步数据库对应的元数据库的数据结构特征;

对待同步数据库进行特征提取,得到第一数据库特征;

根据第一数据库特征和待同步数据库对应的元数据库的数据结构特征,生成第一同步指令;

根据第一同步指令,对待同步数据库进行同步操作,以使待同步数据库的数据结构与待同步数据库对应的元数据库的数据结构相同。

第二方面,本申请的实施方式提供了一种数据库同步装置,包括:

获取模块,用于获取元数据字典,元数据字典用于记录待同步数据库对应的元数据库的数据结构特征;

特征提取模块,用于对待同步数据库进行特征提取,得到第一数据库特征;

指令生成模块,用于根据第一数据库特征和待同步数据库对应的元数据库的数据结构特征,生成第一同步指令;

同步模块,用于根据第一同步指令,对待同步数据库进行同步操作,以使待同步数据库的数据结构与待同步数据库对应的元数据库的数据结构相同。

第三方面,本申请实施方式提供一种电子设备,包括:处理器,处理器与存储器相连,存储器用于存储计算机程序,处理器用于执行存储器中存储的计算机程序,以使得电子设备执行如第一方面的方法。

第四方面,本申请实施方式提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序使得计算机执行如第一方面的方法。

第五方面,本申请实施方式提供一种计算机程序产品,计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,计算机可操作来使计算机执行如第一方面的方法。

实施本申请实施方式,具有如下有益效果:

在本申请实施方式中,通过获取记录待同步数据库对应的元数据库的数据结构特征的元数据字典,将其与待同步数据库的第一数据库特征进行比对,继而根据比对结果生成第一同步指令,对待同步数据库进行同步,以使待同步数据库的数据结构与待同步数据库对应的元数据库的数据结构相同。由此,在同步任务时,只需通过确定待同步数据库的第一数据库特征与元数据字典之间的差异,即可根据差异点自动生成同步指令,对待同步数据库进行数据库结构同步,无需采用整个源数据库覆盖的形式进行数据库结构一致性调整,提高了同步效率。

附图说明

为了更清楚地说明本申请实施方式中的技术方案,下面将对实施方式描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施方式提供的一种数据库系统的网络架构图;

图2为本申请实施方式提供的一种数据库同步装置的硬件结构示意图;

图3为本申请实施方式提供的一种数据库同步方法的流程示意图;

图4为本申请实施方式提供的一种根据第一数据库特征和待同步数据库对应的元数据库的数据结构特征,生成第一同步指令的方法的流程示意图;

图5为本申请实施方式提供的一种对待同步数据库的关联数据库进行数据库同步的方法的流程示意图;

图6为本申请实施方式提供的一种数据库同步装置的功能模块组成框图;

图7为本申请实施方式提供的一种电子设备的结构示意图。

具体实施方式

下面将结合本申请实施方式中的附图,对本申请实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式是本申请一部分实施方式,而不是全部的实施方式。基于本申请中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本申请保护的范围。

本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。

在本文中提及“实施方式”意味着,结合实施方式描述的特定特征、结果或特性可以包含在本申请的至少一个实施方式中。在说明书中的各个位置出现该短语并不一定均是指相同的实施方式,也不是与其它实施方式互斥的独立的或备选的实施方式。本领域技术人员显式地和隐式地理解的是,本文所描述的实施方式可以与其它实施方式相结合。

首先,需要说明的是,如图1所示,图1为本申请涉及的数据库系统的网络架构图,该数据库系统100包括待同步数据库101、待同步数据库101对应的关联数据库102,以及待同步数据库101对应的元数据库103。其中,待同步数据库101可以是多个,待同步数据库101对应的关联数据库102也可以是多个,待同步数据库101对应的元数据库103同样也可以是多个,其相互的对应关系和关联关系在此不作限制。

在本实施方式中,将以一个待同步数据库101、一个关联数据库102、以及一个元数据库103的情况为例,对本申请所提出的数据库同步方法进行说明。其他数量的待同步数据库101、关联数据库102、以及元数据库103的情况下的数据库同步方法与上述情况下的数据库同步方法类似,在此不再赘述。在上述情况中,待同步数据库101与关联数据库102相互关联,元数据库103为云环境的提供方或运维方预设的标准结构的数据库。

其次,参阅图2,图2为本申请实施方式提供的一种数据库同步装置的硬件结构示意图。该数据库同步装置200包括至少一个处理器201,通信线路202,存储器203以及至少一个通信接口204。

在本实施方式中,处理器201,可以是一个通用中央处理器(central processingunit,CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本申请方案程序执行的集成电路。

通信线路202,可以包括一通路,在上述组件之间传送信息。

通信接口204,可以是任何收发器一类的装置(如天线等),用于与其他设备或通信网络通信,例如以太网,RAN,无线局域网(wireless local area networks,WLAN)等。

存储器203,可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compactdisc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。

在本实施方式中,存储器203可以独立存在,通过通信线路202与处理器201相连接。存储器203也可以和处理器201集成在一起。本申请实施方式提供的存储器203通常可以具有非易失性。其中,存储器203用于存储执行本申请方案的计算机执行指令,并由处理器201来控制执行。处理器201用于执行存储器103中存储的计算机执行指令,从而实现本申请下述实施方式中提供的方法。

在可选的实施方式中,计算机执行指令也可以称之为应用程序代码,本申请对此不作具体限定。

在可选的实施方式中,处理器201可以包括一个或多个CPU,例如图1中的CPU0和CPU1。

在可选的实施方式中,数据库同步装置200可以包括多个处理器,例如图2中的处理器201和处理器207。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。

在可选的实施方式中,若数据库同步装置200为服务器,则数据库同步装置200还可以包括输出设备205和输入设备206。输出设备205和处理器201通信,可以以多种方式来显示信息。例如,输出设备205可以是液晶显示器(liquid crystal display,LCD),发光二级管(light emitting diode,LED)显示设备,阴极射线管(cathode ray tube,CRT)显示设备,或投影仪(projector)等。输入设备206和处理器201通信,可以以多种方式接收用户的输入。例如,输入设备206可以是鼠标、键盘、触摸屏设备或传感设备等。

上述的数据库同步装置200可以是一个通用设备或者是一个专用设备。本申请实施方式不限定数据库同步装置200的类型。

以下,将对本申请所公开的数据库同步方法进行说明:

参阅图3,图3为本申请实施方式提供的一种数据库同步方法的流程示意图。该数据库同步方法包括以下步骤:

301:获取元数据字典。

在本实施方式中,元数据字典用于记录待同步数据库对应的元数据库的数据结构特征,该元数据库为待同步数据库所在的云环境的提供方或运维方预设的标准结构的数据库。换句话说,该元数据库即为该云环境中的数据库标准模板,用于约束该云环境中的其他数据库的结构。

在本实施方式中,元数据字典可以通过对元数据库进行特征提取而获得。示例性的,提取的特征可以是元数据库中所有的数据表的组成结构,例如:字段类型、字段长度、字段名和索引。具体而言,元数据库包含数据表1和数据表2,其中,数据表1的字段类型为D、字段长度为E、字段名为F和索引为G;数据表2的字段类型为H、字段长度为I、字段名为J和索引为K。则得到元数据字典为{[1丨D,E,F,G];[2丨H,I,J,K]}。

在本实施方式中,可以在同步任务之前,系统空闲的时间预先生成该元数据字典。并在生成后,将其与待同步数据库关联后进行存储。由此,在同步任务开始时,即可根据关联关系直接进行调用,从而提高同步效率。

此外,该元数据字典可以随元数据库的数据库结构的变动而同步更新,由此,在提出新的标准时,只需要对元数据库的数据库结构进行修改,同时,同步更新元数据字典即可实现对整个同步过程中同步标准的修改,减少了大量的重复操作,也极大的提升了同步效率。

302:对待同步数据库进行特征提取,得到第一数据库特征。

在本实施方式中,对待同步数据库进行特征提取,得到第一数据库特征的方法与步骤301中对元数据库进行特征提取的方法类似,在此不再赘述。

303:根据第一数据库特征和待同步数据库对应的元数据库的数据结构特征,生成第一同步指令。

在本实施方式中,提供了一种根据第一数据库特征和待同步数据库对应的元数据库的数据结构特征,生成第一同步指令的方法,如图4所示,该方法包括:

401:确定第一数据库特征与待同步数据库对应的元数据库的数据结构特征之间的至少一个第一差异点。

由上述可知,第一数据库特征和元数据库的数据结构特征为对各自对应的数据库中的数据表的组成结构进行特征提取所得到的特征,其中,对于某一个表的组成结构,即,字段类型、字段长度、字段名和索引所提取出的特征可以视为第一数据库特征和元数据库的数据结构特征的一个基础单元,例如:数据表2的字段类型为H、字段长度为I、字段名为J和索引为K,其提取出的特征为[2丨H,I,J,K],则[2丨H,I,J,K]即为第一数据库特征和元数据库的数据结构特征的一个基础单元。

由此,在本实施方式中,可以认为第一数据库特征包括至少一个第一基础单元,其中,至少一个第一基础单元中的每个第一基础单元用于标识待同步数据库中对应的数据表的特征;待同步数据库对应的元数据库的数据结构特征包括至少一个第二基础单元,其中,至少一个第二基础单元中的每个第二基础单元用于标识元数据库中对应的数据表的特征。基于此,可以将第一数据库特征中的每个第一基础单元和元数据库的数据结构特征中的每个第二基础单元进行词嵌入处理,将其转化为基础特征,并对每个基础特征添加标签,该标签可以是该基础特征对应的基础单元的数据表的类型。由此,通过标签,可以将第一数据库特征和元数据库的数据结构特征两者中相同类型的数据表所对应的基础特征找出进行比对,若存在差异,则再通过基础特征找出其对应的基础单元进行详细比对,从而确定出至少一个第一差异点,提升比对效率。

402:对于至少一个第一差异点中的每个第一差异点,分别根据每个第一差异点生成第一指令,得到与至少一个第一差异点一一对应的至少一个第一指令。

示例性的,可以分别确定每个第一差异点的差异类型,继而根据每个第一差异点的差异类型,确定与差异类型对应的指令生成规则。最后,根据每个第一差异点对应的指令生成规则,对每个第一差异点进行指令转换,生成第一指令。

在本实施方式中,差异类型可以包括:对象类型不同差异、对象类型缺失差异和对象类型多余差异。

具体而言,对于对象类型不同的差异点,指令生成规则为:以元数据字典的数据结构为准,生成对待同步数据库进行对象类型修改的第一指令。示例性的,待同步数据库中存在一个TMP表,其中ID的字段类型为CHAR,但在元数据字典中,TMP表的ID的字段类型为INT,则生成将TMP表的ID的字段类型修改为INT的同步指令。在本实施方式中,该第一指令可以为SQL数据库ALTER命令:altertableTMPmodifyID INT。

对于对象类型缺失的差异点,指令生成规则为:以元数据字典的数据结构为准,生成对待同步数据库进行对象类型补充的第一指令。示例性的,元数据字典中存在TMP表,而待同步数据库没有TMP表,则生成在待同步数据库中添加TMP表的同步指令。在本实施方式中,该同步指令可以为SQL数据库create指令:createtableTMP(ID INT)。

对于对象类型多余的差异点,指令生成规则为:以元数据字典的数据结构为准,生成对待同步数据库进行对象类型删除的第一指令。示例性的,待同步数据库中存在TMP表,而元数据字典中没有TMP表,则生成在待同步数据库中删除TMP表的同步指令。在本实施方式中,该同步指令可以为SQL数据库drop指令:droptableTMP。

403:根据至少一个第一指令,生成第一同步指令。

在本实施方式中,可以将得到的至少一个第一指令中的每个第一指令进行拼接,得到第一同步指令。

304:根据第一同步指令,对待同步数据库进行同步操作。

在本实施方式中,对待同步数据库执行第一同步指令后,可以使待同步数据库的数据结构与待同步数据库对应的元数据库的数据结构相同,从而使待同步数据库的数据结构转化为标准结构。

在可选的实施方式中,元数据字典还可以包括待同步数据库的关联关系,基于此,通过元数据字典还可以确定与待同步数据库相关联的关联数据库,继而对该关联数据库同步执行该数据库同步方法,使关联数据库的数据库结构与待同步数据库始终保持一致。具体而言,如图5所示,包括:

501:根据待同步数据库的关联关系,确定待同步数据库的关联数据库。

502:对关联数据库进行特征提取,得到第二数据库特征。

在本实施方式中,对关联数据库进行特征提取,得到第二数据库特征的方法与步骤301中对元数据库进行特征提取的方法类似,在此不再赘述。

503:根据第二数据库特征和待同步数据库对应的元数据库的数据结构特征,生成第二同步指令。

在本实施方式中,根据第二数据库特征和待同步数据库对应的元数据库的数据结构特征,生成第二同步指令的方法与步骤303中根据第一数据库特征和待同步数据库对应的元数据库的数据结构特征,生成第一同步指令的方法类似,在此不再赘述。

504:根据第二同步指令,对关联数据库进行同步操作。

在本实施方式中,根据第二同步指令,对关联数据库进行同步操作的方法与步骤304中根据第一同步指令,对待同步数据库进行同步操作的方法类似,在此不再赘述。

同时,在上述情况中,由于元数据字典还可以包括待同步数据库的关联关系,所以,在获取元数据字典时,除了获取待同步数据库对应的元数据库的数据结构特征,还需要获取待同步数据库的关联信息。在本实施方式中,获取待同步数据库对应的元数据库的数据结构特征的方法与步骤301中对元数据库进行特征提取的方法类似,在此不再赘述。

对于获取待同步数据库的关联信息,在本实施方式中,可以通过Python代码提供的接口,对待同步数据库与云环境中其他数据库之间的关联关系进行收集,得到待同步数据库的关联信息。示例性的,数据库A为待同步数据库,通过Python代码提供的接口,确定数据库A与数据库B和数据库C之间存在关联,则数据库A的关联信息为(A丨B,C)。

综上所述,本发明所提供的数据库同步方法中,通过获取记录待同步数据库对应的元数据库的数据结构特征的元数据字典,将其与待同步数据库的第一数据库特征进行比对,继而根据比对结果生成第一同步指令,对待同步数据库进行同步,以使待同步数据库的数据结构与待同步数据库对应的元数据库的数据结构相同。由此,在同步任务时,只需通过确定待同步数据库的第一数据库特征与元数据字典之间的差异,即可根据差异点自动生成同步指令,对待同步数据库进行数据库结构同步,无需采用整个源数据库覆盖的形式进行数据库结构一致性调整,提高了同步效率。同时,通过元数据字典还可以确定待同步数据库的关联数据库,继而实现同时同步待同步数据库及其关联数据库的数据库结构,进一步提升了同步效率。且元数据字典可以随元数据库的数据库结构的变动而同步更新,由此,在提出新的标准时,只需要对元数据库的数据库结构进行修改,同时,同步更新元数据字典即可实现对整个同步过程中同步标准的修改,减少了大量的重复操作,也极大的提升了同步效率。

参阅图6,图6为本申请实施方式提供的一种数据库同步装置的功能模块组成框图。如图6所示,该数据库同步装置600包括:

获取模块601,用于获取元数据字典,元数据字典用于记录待同步数据库对应的元数据库的数据结构特征;

特征提取模块602,用于对待同步数据库进行特征提取,得到第一数据库特征;

指令生成模块603,用于根据第一数据库特征和待同步数据库对应的元数据库的数据结构特征,生成第一同步指令;

同步模块604,用于根据第一同步指令,对待同步数据库进行同步操作,以使待同步数据库的数据结构与待同步数据库对应的元数据库的数据结构相同。

在本发明的实施方式中,在根据第一数据库特征和待同步数据库对应的元数据库的数据结构特征,生成第一同步指令方面,指令生成模块603,具体用于:

确定第一数据库特征与待同步数据库对应的元数据库的数据结构特征之间的至少一个第一差异点;

对于至少一个第一差异点中的每个第一差异点,分别根据每个第一差异点生成第一指令,得到至少一个第一指令,其中,至少一个第一指令与至少一个第一差异点一一对应;

根据至少一个第一指令,生成第一同步指令。

在本发明的实施方式中,第一数据库特征包括至少一个第一基础单元,其中,至少一个第一基础单元中的每个第一基础单元用于标识待同步数据库中对应的数据表的特征;

待同步数据库对应的元数据库的数据结构特征包括至少一个第二基础单元,其中,至少一个第二基础单元中的每个第二基础单元用于标识元数据库中对应的数据表的特征;

基于此,在确定第一数据库特征与待同步数据库对应的元数据库的数据结构特征之间的至少一个第一差异点方面,指令生成模块603,具体用于:

对至少一个第一基础单元中的每个第一基础单元,分别将每个第一基础单元进行词嵌入处理,得到至少一个第一基础特征,其中,至少一个第一基础特征与至少一个第一基础单元一一对应;

对至少一个第一基础特征中的每个第一基础特征,分别对每个第一基础特征添加第一标签,第一标签为每个第一基础特征对应的数据表的数据表类型;

对至少一个第二基础单元中的每个第二基础单元,分别将每个第二基础单元进行词嵌入处理,得到至少一个第二基础特征,其中,至少一个第二基础特征与至少一个第二基础单元一一对应;

对至少一个第二基础特征中的每个第二基础特征,分别对每个第二基础特征添加第二标签,第二标签为每个第二基础特征对应的数据表的数据表类型;

根据添加了第一标签后的至少一个第一基础特征,和添加了第二标签后的至少一个第二基础特征,确定第一数据库特征与待同步数据库对应的元数据库的数据结构特征之间的至少一个第一差异点。

在本发明的实施方式中,在分别根据每个第一差异点生成第一指令方面,指令生成模块603,具体用于:

分别确定每个第一差异点的差异类型;

根据每个第一差异点的差异类型,确定与差异类型对应的指令生成规则;

根据每个第一差异点对应的指令生成规则,对每个第一差异点进行指令转换,生成第一指令。

在本发明的实施方式中,差异类型包括:对象类型不同差异、对象类型缺失差异和对象类型多余差异;

当差异类型为对象类型不同差异时,第一指令用于指示对待同步数据库进行对象类型修改;

当差异类型为对象类型缺失差异时,第一指令用于指示对待同步数据库进行对象类型补充;

当差异类型为对象类型多余差异时,第一指令用于指示对待同步数据库进行对象类型删除。

在本发明的实施方式中,元数据字典还包括,待同步数据库的关联关系,基于此,

获取模块601,还用于根据待同步数据库的关联关系,确定待同步数据库的关联数据库;

特征提取模块602,还用于对关联数据库进行特征提取,得到第二数据库特征;

指令生成模块603,还用于根据第二数据库特征和待同步数据库对应的元数据库的数据结构特征,生成第二同步指令;

同步模块604,还用于根据第二同步指令,对关联数据库进行同步操作,以使关联数据库的数据结构与待同步数据库对应的元数据库的数据结构相同。

在本发明的实施方式中,在获取元数据字典方面,获取模块601,具体用于:

获取待同步数据库的关联信息;

根据待同步数据库的配置信息,确定待同步数据库对应的元数据库;

对元数据库进行特征提取,得到元数据库的数据结构特征;

将待同步数据库的关联信息,和元数据库的数据结构特征作为元数据字典。

参阅图7,图7为本申请实施方式提供的一种电子设备的结构示意图,该电子设备700设置于第一租户系统中。如图7所示,电子设备700包括收发器701、处理器702和存储器703。它们之间通过总线704连接。存储器703用于存储计算机程序和数据,并可以将存储器703存储的数据传输给处理器702。

处理器702用于读取存储器703中的计算机程序执行以下操作:

获取元数据字典,元数据字典用于记录待同步数据库对应的元数据库的数据结构特征;

对待同步数据库进行特征提取,得到第一数据库特征;

根据第一数据库特征和待同步数据库对应的元数据库的数据结构特征,生成第一同步指令;

根据第一同步指令,对待同步数据库进行同步操作,以使待同步数据库的数据结构与待同步数据库对应的元数据库的数据结构相同。

在本发明的实施方式中,在根据第一数据库特征和待同步数据库对应的元数据库的数据结构特征,生成第一同步指令方面,处理器702,具体用于执行以下操作:

确定第一数据库特征与待同步数据库对应的元数据库的数据结构特征之间的至少一个第一差异点;

对于至少一个第一差异点中的每个第一差异点,分别根据每个第一差异点生成第一指令,得到至少一个第一指令,其中,至少一个第一指令与至少一个第一差异点一一对应;

根据至少一个第一指令,生成第一同步指令。

在本发明的实施方式中,第一数据库特征包括至少一个第一基础单元,其中,至少一个第一基础单元中的每个第一基础单元用于标识待同步数据库中对应的数据表的特征;

待同步数据库对应的元数据库的数据结构特征包括至少一个第二基础单元,其中,至少一个第二基础单元中的每个第二基础单元用于标识元数据库中对应的数据表的特征;

基于此,在确定第一数据库特征与待同步数据库对应的元数据库的数据结构特征之间的至少一个第一差异点方面,处理器702,具体用于执行以下操作:

对至少一个第一基础单元中的每个第一基础单元,分别将每个第一基础单元进行词嵌入处理,得到至少一个第一基础特征,其中,至少一个第一基础特征与至少一个第一基础单元一一对应;

对至少一个第一基础特征中的每个第一基础特征,分别对每个第一基础特征添加第一标签,第一标签为每个第一基础特征对应的数据表的数据表类型;

对至少一个第二基础单元中的每个第二基础单元,分别将每个第二基础单元进行词嵌入处理,得到至少一个第二基础特征,其中,至少一个第二基础特征与至少一个第二基础单元一一对应;

对至少一个第二基础特征中的每个第二基础特征,分别对每个第二基础特征添加第二标签,第二标签为每个第二基础特征对应的数据表的数据表类型;

根据添加了第一标签后的至少一个第一基础特征,和添加了第二标签后的至少一个第二基础特征,确定第一数据库特征与待同步数据库对应的元数据库的数据结构特征之间的至少一个第一差异点。

在本发明的实施方式中,在分别根据每个第一差异点生成第一指令方面,处理器702,具体用于执行以下操作:

分别确定每个第一差异点的差异类型;

根据每个第一差异点的差异类型,确定与差异类型对应的指令生成规则;

根据每个第一差异点对应的指令生成规则,对每个第一差异点进行指令转换,生成第一指令。

在本发明的实施方式中,差异类型包括:对象类型不同差异、对象类型缺失差异和对象类型多余差异;

当差异类型为对象类型不同差异时,第一指令用于指示对待同步数据库进行对象类型修改;

当差异类型为对象类型缺失差异时,第一指令用于指示对待同步数据库进行对象类型补充;

当差异类型为对象类型多余差异时,第一指令用于指示对待同步数据库进行对象类型删除。

在本发明的实施方式中,元数据字典还包括,待同步数据库的关联关系,基于此,处理器702,还用于执行以下操作:

根据待同步数据库的关联关系,确定待同步数据库的关联数据库;

对关联数据库进行特征提取,得到第二数据库特征;

根据第二数据库特征和待同步数据库对应的元数据库的数据结构特征,生成第二同步指令;

根据第二同步指令,对关联数据库进行同步操作,以使关联数据库的数据结构与待同步数据库对应的元数据库的数据结构相同。

在本发明的实施方式中,在获取元数据字典方面,处理器702,具体用于执行以下操作:

获取待同步数据库的关联信息;

根据待同步数据库的配置信息,确定待同步数据库对应的元数据库;

对元数据库进行特征提取,得到元数据库的数据结构特征;

将待同步数据库的关联信息,和元数据库的数据结构特征作为元数据字典。

应理解,本申请中的数据库同步装置可以包括智能手机(如Android手机、iOS手机、Windows Phone手机等)、平板电脑、掌上电脑、笔记本电脑、移动互联网设备MID(MobileInternet Devices,简称:MID)、机器人或穿戴式设备等。上述数据库同步装置仅是举例,而非穷举,包含但不限于上述数据库同步装置。在实际应用中,上述数据库同步装置还可以包括:智能车载终端、计算机设备等等。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件结合硬件平台的方式来实现。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施方式或者实施方式的某些部分所述的方法。

因此,本申请实施方式还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行以实现如上述方法实施方式中记载的任何一种数据库同步方法的部分或全部步骤。例如,所述存储介质可以包括硬盘、软盘、光盘、磁带、磁盘、优盘、闪存等。

本申请实施方式还提供一种计算机程序产品,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机程序可操作来使计算机执行如上述方法实施方式中记载的任何一种数据库同步方法的部分或全部步骤。

需要说明的是,对于前述的各方法实施方式,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施方式均属于可选的实施方式,所涉及的动作和模块并不一定是本申请所必须的。

在上述实施方式中,对各个实施方式的描述都各有侧重,某个实施方式中没有详述的部分,可以参见其他实施方式的相关描述。

在本申请所提供的几个实施方式中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。

另外,在本申请各个实施方式中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件程序模块的形式实现。

所述集成的单元如果以软件程序模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施方式所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

本领域普通技术人员可以理解上述实施方式的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。

以上对本申请实施方式进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施方式的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

18页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种分布式数据库测试数据的生成方法及装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!