CN114416874A - 数据库的同步验证方法、装置、设备及存储介质 - Google Patents
数据库的同步验证方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114416874A CN114416874A CN202210044768.3A CN202210044768A CN114416874A CN 114416874 A CN114416874 A CN 114416874A CN 202210044768 A CN202210044768 A CN 202210044768A CN 114416874 A CN114416874 A CN 114416874A
- Authority
- CN
- China
- Prior art keywords
- data
- database
- field name
- synchronization
- synchronized
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
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)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种数据库的同步验证方法、装置、设备及计算机可读存储介质,该方法包括:获取第一数据库中的第一数据和第二数据库中的第二数据;基于预设的数据生成规则,根据第一数据和/或第二数据生成第三数据,第三数据的数据格式与第一数据的数据格式相同,且第三数据的数据值与第一、第二数据的数据值均不相同;将第三数据同步至第一数据库中,以便第二数据库从第一数据库同步第三数据;若同步后的第二数据库存在第三数据,输出用于指示同步成功的指示信息。本申请能够避免数据库之间数据结构不相同导致的判断错误,还能提高验证数据库是否同步的效率。本申请还涉及区块链技术,指示信息能够存储在区块链中。
Description
技术领域
本申请涉及数据同步处理的技术领域,尤其涉及一种数据库的同步验证方法、装置、设备及计算机可读存储介质。
背景技术
在测试数据链路连通性的时候,需要对比位于数据链路上游的表和位于数据链路下游的表的结构,通过对上游的表进行数据更改处理,判断更改处理是否能够同步到下游的表,以确定数据链路是否连通,但跨***的数据库之间的表结构可能会不一致,数据量不多时能够通过人工比对来确定是否同步成功,但数据量过多时通过人工比对容易遗漏数据以及会耗费大量的人力成本,若不进行人工比对,当上游的表中的数据与下游的表中的数据未经更改处理时就不相同,在数据更改处理后进行确定是否同步成功时容易产生误判断,从而导致测试结果的正确率不高。
发明内容
本申请提供一种数据库的同步验证方法、装置、设备及计算机可读存储介质,旨在提高验证数据库是否同步的效率和准确性。
第一方面,本申请提供一种数据库的同步验证方法,所述数据库的同步验证方法包括以下步骤:
获取第一数据库中的第一数据和第二数据库中的第二数据,所述第二数据库用于从所述第一数据库中同步数据;
基于预设的数据生成规则,根据所述第一数据和/或所述第二数据生成第三数据,所述第三数据的数据格式与所述第一数据的数据格式相同,且所述第三数据的数据值与所述第一数据的数据值以及所述第二数据的数据值均不相同;
将所述第三数据同步至所述第一数据库中,以便所述第二数据库从所述第一数据库同步所述第三数据;
若同步后的第二数据库存在所述第三数据,输出用于指示所述第一数据库与第二数据库同步成功的指示信息。
第二方面,本申请还提供一种数据库的同步验证装置,所述数据库的同步验证装置包括:
数据获取模块,用于获取第一数据库中的第一数据和第二数据库中的第二数据,所述第二数据库用于从所述第一数据库中同步数据;
数据生成模块,用于基于预设的数据生成规则,根据所述第一数据和/或所述第二数据,生成第三数据,所述第三数据的数据格式与所述第一数据的数据格式相同,且所述第三数据的数据值与所述第一数据的数据值以及所述第二数据的数据值均不相同;
数据同步模块,用于将所述第三数据同步至所述第一数据库中,以便所述第二数据库从所述第一数据库同步所述第三数据;
信息输出模块,用于若同步后的第二数据库存在所述第三数据,输出用于指示所述第一数据库与第二数据库同步成功的指示信息。
第三方面,本申请还提供一种计算机设备,所述计算机设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的计算机程序,其中所述计算机程序被所述处理器执行时,实现如上述的数据库的同步验证方法的步骤。
第四方面,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其中所述计算机程序被处理器执行时,实现如上述的数据库的同步验证方法的步骤。
本申请提供一种数据库的同步验证方法、装置、设备及计算机可读存储介质,方法包括获取第一数据库中的第一数据和第二数据库中的第二数据,所述第二数据库用于从所述第一数据库中同步数据;基于预设的数据生成规则,根据所述第一数据和/或所述第二数据生成第三数据,所述第三数据的数据格式与所述第一数据的数据格式相同,且所述第三数据的数据值与所述第一数据的数据值以及所述第二数据的数据值均不相同;将所述第三数据同步至所述第一数据库中,以便所述第二数据库从所述第一数据库同步所述第三数据;若同步后的第二数据库存在所述第三数据,输出用于指示所述第一数据库与第二数据库同步成功的指示信息。通过生成的第三数据同步至第一数据库中,并使第二数据库从第一数据库中进行第三数据的同步,然后确定第二数据库是否存在第三数据,以判断第二数据库与第一数据库是否同步,从而确定第一数据库与第二数据库所在的数据链路是否连通,能够避免数据库之间数据结构不相同导致的判断错误,还能提高验证数据库是否同步的效率。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一实施例提供的一种数据库的同步验证方法的流程示意图;
图2为本申请一实施例提供的一种数据库的同步验证方法的场景图;
图3为本申请实施例提供的一种数据库的同步验证装置的示意性框图;
图4为本申请一实施例涉及的计算机设备的结构示意框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。
本申请实施例提供一种数据库的同步验证方法、装置、计算机设备及计算机可读存储介质。其中,该数据库的同步验证方法可应用于终端设备中,该终端设备可以是平板电脑、笔记本电脑、台式电脑等电子设备。也可以应用于服务器中,该服务器可以是单独的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
请参照图1、图2,图1为本申请的实施例提供的一种数据库的同步验证方法的流程示意图。图2为本申请一实施例提供的一种数据库的同步验证方法的的场景图,其中,第一数据库和第二数据库位于同一数据链路,且第一数据库位于第二数据库的上游,数据处理***能够通过预设的功能语句对第一数据库和/或第二数据库中的数据进行处理,以便数据能够同步至第一数据库中,以及第二数据库能够从第一数据库同步数据。
如图1所示,该数据库的同步验证方法包括步骤S101至步骤S104。
步骤S101、获取第一数据库中的第一数据和第二数据库中的第二数据,其中,所述第二数据库用于从第一数据库中同步数据。
示例性的,在数据链路中,可能会存在多个数据库,例如是数据仓库,其中,在一个数据链路中,处于数据链路上游的第一数据库用于存储数据,并能够将存储于第一数据库内的数据通过数据链路传输至位于同一数据链路下游的第二数据库中,其中,第二数据库也可通过数据库对数据进行存储。可以理解的,在处于上游的第一数据库与处于下游的第二数据库可能是不同类型的数据库,从而导致上下游数据库中数据的数据类型以及长度不一致,因而,在测试数据链路中数据库是否连通时,需要耗费大量的运算去比对数据是否同步了,速率较慢,并且上下游的数据的数据类型以及长度不一致,增加了数据比对的负载以及容易出现错误,从而降低数据链路连通性判断的正确率。
示例性的,处于数据链路上游的第一数据库有对应的第一数据处理***,以对处于数据上游的第一数据库进行数据处理,具体的,数据处理可以是数据***、数据更新以及数据删除的任意一项处理,可以理解的,可以通过在第一数据处理***中运行预设功能语句,以对第一数据库执行数据的***或更新或删除处理。同样的,处于数据链路下游的第二数据库也有对应的第二数据处理***,以执行第二数据库的数据同步处理。
在另一些实施例方式中,数据链路可以对应一个数据处理***,例如是,第一数据库与第二数据库对应的数据处理***为同一个,以进行第一数据库的数据处理,以及第二数据库的数据同步处理。下述实施方式以第一数据库以及第二数据库对应同一数据处理***进行说明,并不对数据链路中的数据库所对应的数据处理***的数量以及方式予以限定。
示例性的,获取位于同一数据链路的第一数据库以及第二数据库,通过第一数据库中的第一数据和第二数据库中的第二数据生成的第三数据,并将第三数据同步至第一数据库中,在数据链路对应的数据处理***中运行对应的功能语句,使第二数据库对第一数据库进行同步,通过确定同步后的第二数据库中是否出现对应的数据,能够确定第一数据库与第二数据库是否有同步成功,以测试数据链路的连通性,可以减少数据比对时的负载,以及提升测试数据链路连通性的速率和判断数据链路是否连通的正确率。
可以理解的,若数据链路连通时,第二数据库能够同步第一数据库中的数据,可以例如是,第一数据库位于数据链路的上游,第二数据库位于数据链路的下游,当数据链路连通且数据链路对应的数据处理***执行预设同步功能时,位于下游的第二数据库能够同步位于上游的第一数据库中的数据,具体的,通过确定第一数据库中的数据发生更改时,例如***数据、更新数据以及删除数据,判断第二数据库是否发生对应的更改,能够确定第一数据库和第二数据库是否同步成功,从而确定第一数据库和第二数据库所处的数据链路是否连通。
示例性的,可以在数据链路中的多个数据库,确定至少两个数据库至预设表格中,在执行所述方法是,获取预设表格,并在预设表格中确定第一数据库和第二数据库,从而通过第一数据库和第二数据库判断第一数据库和第二数据库所处的数据链路是否连通。
示例性的,确定第一数据库和第二数据库后,获取第一数据库中的第一数据和获取第二数据库中的第二数据,以进行生成第三数据的步骤和进行数据链路是否连通的判断。
步骤S102、基于预设的数据生成规则,根据第一数据和/或第二数据生成第三数据,所述第三数据的数据格式与所述第一数据的数据格式相同,且所述第三数据的数据值与所述第一数据的数据值以及所述第二数据的数据值均不相同。
示例性的,通过第一数据和/或第二数据生成第三数据,可以使生成的第三数据能够同步至第二数据库中,避免在同步的过程中出现错误的情况。
其中,生成的第三数据的数据格式与第一数据的数据格式相同,例如,第一、第三数据均是键值对的数据格式。相同的数据格式可以避免第一数据库不兼容第三数据而导致控制***无法进行同步,从而导致的同步结果判断错误的情况。
生成的第三数据的数据值与第一数据的数据值和第二数据的数据值均不相同,以在后续同步之后的数据库中查找第三数据时,避免受到第一数据或第二数据的影响。可以理解的,数据的数据值可以是数据中字段名称所对应的值,字段名称中所包含的字符数与字段名称对应的值所包含的字符数的和可以表征数据长度。
在一些实施例中,根据第一数据生成第三数据,包括:获取第一数据中的第一字段名称;将所述第一字段名称作为所述第三数据的第三字段名称,并***随机字符将所述第三字段名称对应的值补全,得到第三数据;和/或获取所述第一数据的第一数据长度;将所述第三数据的第三数据长度确定为小于或等于所述第一数据长度,并***随机字符将所述第三数据的第三字段名称以及所述第三字段名称对应的值补全,得到第三数据。
示例性的,可以根据第一数据生成第三数据,具体的,预设的数据生成规则可以是按照第一字段名称确定第三字段根据获取到的第一数据的第一字段名称,生成第三数据,可以理解的,生成的第三数据对应的第三字段名称与第一数据的第一字段名称相同。
例如,第一数据为“name:‘abcdefg……’”,其中,第一数据的第一字段名称为“name”,生成的第三数据的第三字段名称也为“name”,第三字段名称对应的值可以***随机字符确定,具体的,生成的第三数据可以是“name:‘engsenckse……’”。
示例性的,预设的数据生成规则还可以按照第一数据长度确定第三数据长度,根据获取到的第一数据的第一数据长度,生成第三数据,其中,第三数据的第三数据长度小于或等于第一数据长度,具体的,第三字段名称包含的字符数与第三字段名称对应的值包含的字符数之和小于或等于第一字段名称包含的字符数与第一字段名称对应的值包含的字符数之和。
例如,第一数据的第一数据长度为50字节,生成的第三数据的第三数据长度也为50字节,也可以小于50字节。
示例性的,第三数据的第三字段名称可以与第一数据的第一字段名称相同,并且,第三数据的第三数据长度小于或等于第一数据的第一数据长度。
例如,第一数据为“name:‘abcddefg……’”,其中,第一数据的第一数据长度为80字节,生成的第三数据为“name:‘efjeiwong……’”第三数据的第三数据长度也为80字节。
需要说明的是,上述的第一字段名称、第一数据长度均为举例说明,并不对本申请中的第一字段名称、第一数据长度予以限定,第一字段名称和第一数据长度还可以有其他情况。
可以理解的,在第一数据中,可能存在多个第一字段名称,生成的第三数据中也可以存在多个第三字段名称,且每一个第三字段名称均与多个第一字段名称一一相同。
示例性的,通过第一数据生成相同字段名称或长度相等的第三数据,避免第一数据库和/或第二数据库与第三数据不兼容,而导致无法同步或同步结果判断错误的情况。
可以理解的,在另一些实施例中,获取第二数据的第二字段名称和/或第二数据的第二数据长度,并根据第二数据的第二字段名称和/或第二数据的第二数据长度,生成第三数据。其中,生成的过程可以如上述根据第一数据生成数据的步骤,在此不再撰述。
在一些实施例中,根据第一数据和第二数据,生成第三数据,包括:获取第一数据的第一数据长度和第二数据的第二数据长度;若判定所述第一数据长度大于所述第二数据长度,将所述第三数据的第三数据长度确定为小于或等于所述第二数据长度,并***随机字符对所述第三数据的第三字段名称以及所述第三字段名称对应的值补全,得到第三数据。
示例性的,当通过第一数据和第二数据生成第三数据时,可以获取第一数据的第一数据长度,以及获取第二数据的第二数据长度,并对比第一数据长度和第二数据长度的大小,确定两者中数据长度较短的数据,例如,第一数据长度大于第二数据长度,生成的第三数据的第三数据长度小于或等于第二数据长度。
示例性的,生成的第三数据的第三字段名称可与第一数据的第一字段名称或第二数据的第二字段名称相同,也可以与第一字段名称和第二字段名称均不相同,***随机字符补全第三字段名称。
可以理解的,生成的第三数据的第三数据长度小于或等于两个数据库的数据对应的数据长度中的较小的一个,可以避免在第三数据同步至第一数据库和/或第二数据库中时由于不兼容而无法匹配的情况,并且能够减少数据库的负载,从而加快数据链路同步的速率。
在一些实施例中,在步骤S102之前,方法还包括:获取第一数据中的第一字段名称,以及第二数据中的第二字段名称;判断第二字段名称是否与第一字段名称匹配;若判定第二字段名称与第一字段名称匹配,根据第一数据和/或第二数据生成第三数据。
示例性的,获取第一数据的第一字段名称,以及获取第二数据到的第二字段名称,判断第二字段名称与第一字段名称是否匹配,以避免在未同步时,第二数据库中的第二数据中就已经存在第二字段名称与第一数据库中的第一数据的第一字段名称不相同,而在同步之后,发现第二数据中的字段名称存在与第一数据库中的第一字段名称不相同,而导致的错误判断未同步的情况。
示例性的,预先确定第二字段名称是否与第一字段名称相同,从而提升判断的准确性。
可以理解的,若第二数据中存在一个第二字段名称,但该第二字段名称没有相同的第一字段名称存在于第一数据中,需要输出错误信息,如“第一数据库与第二数据库结构不一致”。
可以理解的,若第二数据库中的第二数据包含的所有第二字段名称,在第一数据库中的第一数据包含的第一字段名称中均能找到对应的字段名称,在进行第三数据同步后就能通过第三数据对应的第三字段名称确定第一数据库和第二数据库是否同步成功,排除未同步时第一数据库和第二数据库中的字段名称的影响,从而减少误判断的几率,以提升判断同步是否成功的正确率。
在一些实施例中,判断第二字段名称是否与第一字段名称匹配,包括:将第二字段名称与第一字段名称进行对比;若在第一数据中能够查询到与第二字段名称相同的字段名称,判定第二字段名称与第一字段名称匹配。
示例性的,第一数据可以是第一数据库中的所有数据,也可以是部分数据,同样的,第二数据也可以是第二数据中的所有数据或部分数据。
示例性的,遍历第一数据中的字段名称,以得到第一数据中的多个第一字段名称,同样的,遍历第二数据中的字段名称,以得到第二数据中的多个第二字段名称,将第每一个第二字段名称与得到的第一字段名称进行对比,若每一个第二字段名称均能查询到相同字段名称的第一字段名称,确定第二字段名称与第一字段名称匹配。
若在第一数据中未查询到与第二字段名称相同的字段名称,判定第二字段名称与第一字段名称不匹配。
可以理解的,若至少一个第二字段名称未能查询到相同字段名称的第一字段名称,确定第二字段名称与第一字段名称不匹配。
例如,第一字段名称包括“name、id、source、address”,若第二字段名称包括“name、id、source”,可以认为第一字段名称与第二字段名称匹配;若第二字段名称包括“name、channel、address”,可以认为第一字段名称与第二字段名称不匹配。
示例性的,通过确定第一字段名称是否与第二字段名称匹配,可以避免在同步处理后,在第二数据库与第一数据库中查找到不匹配的字段名称时,而误判断同步出现错误的情况。
步骤S103、将第三数据同步至第一数据库中,以便第二数据库从第一数据库同步第三数据。
示例性的,将第三数据同步至第一数据库中,可以理解的,同步可以是将第三数据***第一数据库中。
将第三数据同步至第一数据库之后,数据链路对应的数据处理***运行预设的功能语句,执行预设的功能语句对应的预设同步功能,以使第二数据库从第一数据库同步第三数据。其中,功能语句用于描述预设的同步功能,功能语句可以例如是sql语句,例如insert语句(***功能语句)、update语句(更新功能语句),通过预设功能语句,使数据链路对应的数据处理***执行相应的同步功能,以判断数据链路是否连通。
可以理解的,若数据链路连通和/或第一数据库与第二数据库同步成功,在第一数据库发生的数据更改,并在数据链路对应的数据处理***运行功能语句后,使第二数据库能够进行与第一数据库相同的数据更改的操作,从而更改的数据能够同步到第二数据库中,因而,能够通过确定第二数据库中是否发生与第一数据库发生的数据更改操作相同的操作,以判断第一数据库与第二数据库是否同步和/或数据链路是否连通。可以理解的,可以通过第二数据库中是否存在第三数据确定第二数据库中是否发生与第一数据库发生的数据更改操作相同的操作。
示例性的,可以将第三数据***和/或更新至第一数据库中,以完成将第三数据同步至第一数据库中。
示例性的,将第三数据更新至第一数据库中,包括:在第一数据库中确定与第三数据对应的第三字段名称对应的第四数据;将第四数据更新为第三数据。
可以理解的,更新是将未更新时第一数据库中的一些数据进行覆盖,以得到更新后的第一数据库,因而在判断数据链路是否连通或第一数据库和第二数据库是否同步成功之后,对第一数据库和/或第二数据库进行还原,以使被覆盖的数据还原为未进行更新时的数据。
步骤S104、若同步后的第二数据库存在第三数据,输出用于指示第一数据库与第二数据库同步成功的指示信息。
示例性的,若确定第二数据库中存在第三数据,可以认为第一数据库与第二数据库同步成功和/或第一数据库与第二数据库所处的数据链路连通。
示例性的,输出的指示信息可以例如是“success”,以指示第一数据库与第二数据库同步成功。
可以理解的,指示信息可以存储于区块链中,以使在其他终端设备需要确定数据链路是否连通时,能够通过向区块链进行广播以获取指示信息,从而通过指示信息确定数据链路是否连通。本申请所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
示例性的,在数据链路对应的数据处理***运行同步功能后,在同步后的第二数据库中查找是否存在第三数据,可以理解的,若第一数据库与第二数据库同步成功,在第一数据库中***了第三数据后并在数据链路对应的数据处理***运行同步功能时,第二数据库也会进行第三数据的***处理,从而在数据链路对应的数据处理***运行同步功能后,同步后的第二数据库中能够查找到第三数据。
需要说明的是,若第三数据对应的第三字段名称在第一数据库中有对应的第一字段名称,并第三数据是对第一数据库中对应的第一数据进行更新,但第二数据库中没有对应的第二字段名称,可以将第三数据***到第二数据库中,从而在第一数据库与第二数据库同步时,在第二数据库中能够查找到第三数据。
在一些实施例中,方法还包括:在数据链路执行预设同步功能之后,将同步后的第二数据库包含的字段名称与第三数据的第三字段名称进行对比;若当前第二数据库中存在与第三字段名称相同的字段名称,确定第二数据库存在第三数据。
示例性的,可以在预设时间长度后,或是数据链路对应的数据处理***输出用于指示完成同步功能的信息后,将同步后的第二数据库包含的字段名称与第三数据的第三字段名称进行对比,若在同步后的第二数据库中能够查询到第三数据的第三字段名称时,确定同步后的第二数据库存在第三数据。
若在同步后的第二数据库中未查询到与第三数据的第三字段名称相同的字段名称,确定第二数据库与第一数据库未能同步成功和/或数据链路处于未连通状态。
在一些实施例中,方法还包括:若在所述第二数据库完成与第一数据库的同步之后,所述同步后的第二数据库不存在所述第三数据,确定用于指示同步不成功的错误信息,以及输出所述错误信息。
示例性的,若确定同步后的第二数据库中不存在第三数据,可以认为第一数据库与第二数据库没有同步成功,或第一数据库与第二数据库所处的数据链路处于未连通状态,确定用于指示同步不成功的错误信息。
示例性的,可以根据数据链路对应的数据处理***运行的同步功能语句确定错误信息。
例如,若数据链路对应的数据处理***运行了***同步功能语句,在第二数据库完成与第一数据库的同步之后,在同步后的第二数据库中未查找到第三数据,输出的错误信息可以是“第二数据库未能查询到***的第三数据”。
若数据链路对应的数据处理***运行了更新同步功能语句,在第二数据库完成与第一数据库的同步之后,在同步后的第二数据库中未查找到第三数据,输出的错误信息可以是“第二数据库未能查询到更新的第三数据”。
示例性的,通过输出与数据处理***运行的同步功能语句对应的错误信息,可以让检测的技术人员得知是***第三数据出现错误,还是更新第三数据出现错误,可以更换同步功能语句并对第一数据库和第二数据库再次进行上述步骤的处理,在此不再重复撰述,若更换同步功能语句之后能够在第二数据库中查找到数据,可以认为是同步功能语句出现问题,例如同步功能语句不正确,导致无法执行对应的同步功能,从而提高判断是否同步的正确率。
可以理解的,若运行更换后的同步功能语句仍未能在第二数据库中查找到第三数据,可以认为第一数据库和第二数据库没有同步成功。
在一些实施例中,方法还包括:当检测到所述第一数据库中存在删除目标第三数据的操作时,在所述第二数据库中同步删除与所述目标第三数据相同的第三数据;若所述第二数据库中不存在与所述目标第三数据相同的第三数据,输出用于指示所述第一数据库与所述第二数据库的删除功能同步成功的指示信息。
示例性的,完成第三数据的***功能和/或更新功能同步后,可以验证第一数据库与第二数据库的删除功能是否同步成功。
示例性的,将目标第三数据从第一数据库中删除,获取预设的删除功能语句,并通过数据链路对应的数据处理***运行删除功能语句,以使第二数据库同步删除目标第三数据,若在第二数据库中不存在与目标第三数据相同的第三数据时,可以确定删除功能同步成功。
在一些实施例中,当第一数据库和第二数据库的***功能和/或更新功能同步成功且删除功能也同步成功时,确定第一数据库和第二数据库同步成功和/或第一数据库和第二数据库所处的数据链路连通。可以理解的,若第一数据库和第二书库的删除功能未能同步成功,可以认为第一数据库和第二数据库未能同步成功。
例如,将第三数据通过***处理和/或更新处理,同步至第一数据库中,数据处理***运行对应的预设功能语句,使第二数据库从第一数据库中同步第三数据,然后对第一数据库和第二数据库进行同步验证,若验证结果为数据同步成功,进行同步删除功能的验证;若验证结果为数据同步不成功,确定错误信息,并进行输出。
例如,当第二数据库的***功能和/或更新功能,以及删除功能均能与第一数据库同步时,输出用于指示同步成功的指示信息;当***功能和/或更新功能未能完成,导致删除功能也未能完成时,输出的错误信息可以是“***功能和/或更新功能未能同步,无法确认删除功能是否同步”;当确定***功能和/或更新功能同步成功,运行删除同步功能后,在第二数据库仍能查找到第三数据,输出的错误信息可以是“第二数据库中仍能查找到第三数据,删除功能未能同步成功”的指示信息,以使检测人员能够清楚得知哪一环节出现问题,以及得到第一数据库和第二数据库是否同步成功或数据链路是否连通的信息。
上述实施例提供的数据库的同步验证方法,通过根据第一数据和第二数据生成第三数据,可以使生成的第三数据符合第一数据库和/或第二数据库中数据的表结构,减轻数据处理***运算功能语句时的负载,提高验证的效率,以及在进行同步时不会由于数据库之间的数据结构不同而导致无法同步成功,从而导致数据链路是否连通的判断错误。以及通过多种预设功能的验证,能够提高数据链路连通性的验证正确率。
请参阅图3,图3是本申请一实施例提供的一种数据库的同步验证装置的示意图,该数据库的同步验证装置可以配置于服务器或终端中,用于执行前述的数据库的同步验证方法。
如图3所示,该数据库的同步验证装置,包括:数据获取模块110、数据生成模块120、数据同步模块130、信息输出模块140。
数据获取模块110,用于获取第一数据库中的第一数据和第二数据库中的第二数据,所述第二数据库用于从所述第一数据库中同步数据。
数据生成模块120,用于基于预设的数据生成规则,根据所述第一数据和/或所述第二数据,生成第三数据,所述第三数据的数据格式与所述第一数据的数据格式相同,且所述第三数据的数据值与所述第一数据的数据值以及所述第二数据的数据值均不相同。
数据同步模块130,用于将所述第三数据同步至所述第一数据库中,以便所述第二数据库从所述第一数据库同步所述第三数据。
信息输出模块140,用于若同步后的第二数据库存在所述第三数据,输出用于指示所述第一数据库与第二数据库同步成功的指示信息。
示例性的,数据库的同步验证装置还包括数据删除模块。
数据删除模块,用于当检测到所述第一数据库中存在删除目标第三数据的操作时,在所述第二数据库中同步删除与所述目标第三数据相同的第三数据。
信息输出模块140,还用于若所述第二数据库中不存在与所述目标第三数据相同的第三数据,输出用于指示所述第一数据库与所述第二数据库的删除功能同步成功的指示信息。
示例性的,信息输出模块150,还用于若在所述第二数据库完成与第一数据库的同步之后,所述同步后的第二数据库不存在所述第三数据,确定用于指示同步不成功的错误信息,以及输出所述错误信息。
示例性的,数据生成模块120还包括字段名称获取子模块、数据长度获取子模块,数据补全子模块。
字段名称获取子模块,用于获取所述第一数据中的第一字段名称。
数据长度获取子模块,用于获取所述第一数据中的第一数据长度。
数据补全子模块,用于将所述第一字段名称作为所述第三数据的第三字段名称,并***随机字符对所述第三字段名称对应的值补全,得到第三数据;和/或将所述第三数据的第三数据长度确定为小于或等于所述第一数据长度,并***随机字符对所述第三数据的第三字段名称以及所述第三字段名称对应的值补全,得到第三数据。
示例性的,数据长度获取子模块,还用于获取所述第一数据的第一数据长度和所述第二数据的第二数据长度;
数据补全子模块,还用于若判定所述第一数据长度大于所述第二数据长度,将所述第三数据的第三数据长度确定为小于或等于所述第二数据长度,并***随机字符对所述第三数据的第三字段名称以及所述第三字段名称对应的值补全,得到第三数据。
示例性的,数据库的同步验证装置还包括字段名称对比子模块、数据确定子模块。
字段名称对比子模块,用于将同步后的第二数据库包含的字段名称与所述第三数据的第三字段名称进行对比。
数据确定子模块,用于若同步后的第二数据库中存在与所述第三字段名称相同的名称,确定所述第二数据库存在所述第三数据。
示例性的,数据库的同步验证装置还包括字段名称获取子模块、字段名称匹配子模块。
字段名称获取子模块,用于获取所述第一数据中的第一字段名称,以及所述第二数据中的第二字段名称。
字段名称匹配子模块,用于判断所述第二字段名称是否与所述第一字段名称匹配。
数据生成模块120,还用于若判定所述第二字段名称与所述第一字段名称匹配,根据所述第一数据和/或所述第二数据生成第三数据。
需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和各模块、单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请的方法,可用于众多通用或专用的计算机***环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器***、基于微处理器的***、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何***或设备的分布式计算环境等等。本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
示例性地,上述的方法、装置可以实现为一种计算机程序的形式,该计算机程序可以在如图4所示的计算机设备上运行。
请参阅图4,图4为本申请实施例提供的一种计算机设备的结构示意性框图。该计算机设备可以为服务器或终端。
如图4所示,该计算机设备包括通过***总线连接的处理器、存储器和网络接口,其中,存储器可以包括存储介质和内存储器。
存储介质可存储操作***和计算机程序。该计算机程序包括程序指令,该程序指令被执行时,可使得处理器执行任意一种数据库的同步验证方法。
处理器用于提供计算和控制能力,支撑整个计算机设备的运行。
内存储器为存储介质中的计算机程序的运行提供环境,该计算机程序被处理器执行时,可使得处理器执行任意一种数据库的同步验证方法。
该网络接口用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
应当理解的是,处理器可以是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
其中,在一个实施例中,所述处理器用于运行存储在存储器中的计算机程序,以实现如下步骤:
获取第一数据库中的第一数据和第二数据库中的第二数据,所述第二数据库用于从所述第一数据库中同步数据;
基于预设的数据生成规则,根据所述第一数据和/或所述第二数据生成第三数据,所述第三数据的数据格式与所述第一数据的数据格式相同,且所述第三数据的数据值与所述第一数据的数据值以及所述第二数据的数据值均不相同;
将所述第三数据同步至所述第一数据库中,以便所述第二数据库从所述第一数据库同步所述第三数据;
若同步后的第二数据库存在所述第三数据,输出用于指示所述第一数据库与第二数据库同步成功的指示信息。
在一个实施例中,所述处理器在实现数据库的同步验证方法时,用于实现:
当检测到所述第一数据库中存在删除目标第三数据的操作时,在所述第二数据库中同步删除与所述目标第三数据相同的第三数据;
若所述第二数据库中不存在与所述目标第三数据相同的第三数据,输出用于指示所述第一数据库与所述第二数据库的删除功能同步成功的指示信息。
在一个实施例中,所述处理器在实现数据库的同步验证方法时,用于实现:
若在所述第二数据库完成与第一数据库的同步之后,所述同步后的第二数据库不存在所述第三数据,确定用于指示同步不成功的错误信息,以及输出所述错误信息。
在一个实施例中,所述处理器在实现根据所述第一数据生成第三数据时,用于实现:
获取所述第一数据中的第一字段名称;
将所述第一字段名称作为所述第三数据的第三字段名称,并***随机字符对所述第三字段名称对应的值补全,得到第三数据;和/或
获取所述第一数据的第一数据长度;
将所述第三数据的第三数据长度确定为小于或等于所述第一数据长度,并***随机字符对所述第三数据的第三字段名称以及所述第三字段名称对应的值补全,得到第三数据。
在一个实施例中,所述处理器在实现根据所述第一数据和所述第二数据,生成第三数据时,用于实现:
获取所述第一数据的第一数据长度和所述第二数据的第二数据长度;
若判定所述第一数据长度大于所述第二数据长度,将所述第三数据的第三数据长度确定为小于或等于所述第二数据长度,并***随机字符对所述第三数据的第三字段名称以及所述第三字段名称对应的值补全,得到第三数据。
在一个实施例中,所述处理器在实现数据库的同步验证方法时,用于实现:
将同步后的第二数据库包含的字段名称与所述第三数据的第三字段名称进行对比;
若同步后的第二数据库中存在与所述第三字段名称相同的名称,确定所述第二数据库存在所述第三数据。
在一个实施例中,所述处理器在实现数据库的同步验证方法时,用于实现:
获取所述第一数据中的第一字段名称,以及所述第二数据中的第二字段名称;
判断所述第二字段名称是否与所述第一字段名称匹配;
若判定所述第二字段名称与所述第一字段名称匹配,根据所述第一数据和/或所述第二数据生成第三数据。
需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述数据库的同步验证的具体工作过程,可以参考前述数据库的同步验证控制方法实施例中的对应过程,在此不再赘述。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序中包括程序指令,所述程序指令被执行时所实现的方法可参照本申请数据库的同步验证方法的各个实施例。
其中,所述计算机可读存储介质可以是前述实施例所述的计算机设备的内部存储单元,例如所述计算机设备的硬盘或内存。所述计算机可读存储介质也可以是所述计算机设备的外部存储设备,例如所述计算机设备上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。
应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者***不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者***所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者***中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种数据库的同步验证方法,其特征在于,包括:
获取第一数据库中的第一数据和第二数据库中的第二数据,所述第二数据库用于从所述第一数据库中同步数据;
基于预设的数据生成规则,根据所述第一数据和/或所述第二数据生成第三数据,所述第三数据的数据格式与所述第一数据的数据格式相同,且所述第三数据的数据值与所述第一数据的数据值以及所述第二数据的数据值均不相同;
将所述第三数据同步至所述第一数据库中,以便所述第二数据库从所述第一数据库同步所述第三数据;
若同步后的第二数据库存在所述第三数据,输出用于指示所述第一数据库与第二数据库同步成功的指示信息。
2.如权利要求1所述的数据库的同步验证方法,其特征在于,所述方法还包括:
当检测到所述第一数据库中存在删除目标第三数据的操作时,在所述第二数据库中同步删除与所述目标第三数据相同的第三数据;
若所述第二数据库中不存在与所述目标第三数据相同的第三数据,输出用于指示所述第一数据库与所述第二数据库的删除功能同步成功的指示信息。
3.如权利要求1所述的数据库的同步验证方法,其特征在于,所述方法还包括:
若在所述第二数据库完成与第一数据库的同步之后,所述同步后的第二数据库不存在所述第三数据,确定用于指示同步不成功的错误信息,以及输出所述错误信息。
4.如权利要求1-3任一项所述的数据库的同步验证方法,其特征在于,所述基于预设的数据生成规则,根据所述第一数据生成第三数据,包括:
获取所述第一数据中的第一字段名称;
将所述第一字段名称作为所述第三数据的第三字段名称,并***随机字符对所述第三字段名称对应的值补全,得到第三数据;和/或
获取所述第一数据的第一数据长度;
将所述第三数据的第三数据长度确定为小于或等于所述第一数据长度,并***随机字符对所述第三数据的第三字段名称以及所述第三字段名称对应的值补全,得到第三数据。
5.如权利要求1-3任一项所述的数据库的同步验证方法,其特征在于,所述基于预设的数据生成规则,根据所述第一数据和所述第二数据,生成第三数据,包括:
获取所述第一数据的第一数据长度和所述第二数据的第二数据长度;
若判定所述第一数据长度大于所述第二数据长度,将所述第三数据的第三数据长度确定为小于或等于所述第二数据长度,并***随机字符对所述第三数据的第三字段名称以及所述第三字段名称对应的值补全,得到第三数据。
6.如权利要求1-3任一项所述的数据库的同步验证方法,其特征在于,所述方法还包括:
将同步后的第二数据库包含的字段名称与所述第三数据的第三字段名称进行对比;
若同步后的第二数据库中存在与所述第三字段名称相同的名称,确定所述第二数据库存在所述第三数据。
7.如权利要求1-3任一项所述的数据库的同步验证方法,其特征在于,所述方法还包括:
获取所述第一数据中的第一字段名称,以及所述第二数据中的第二字段名称;
判断所述第二字段名称是否与所述第一字段名称匹配;
若判定所述第二字段名称与所述第一字段名称匹配,根据所述第一数据和/或所述第二数据生成第三数据。
8.一种数据库的同步验证装置,其特征在于,所述同步验证装置包括:
数据获取模块,用于获取第一数据库中的第一数据和第二数据库中的第二数据,所述第二数据库用于从所述第一数据库中同步数据;
数据生成模块,用于基于预设的数据生成规则,根据所述第一数据和/或所述第二数据,生成第三数据,所述第三数据的数据格式与所述第一数据的数据格式相同,且所述第三数据的数据值与所述第一数据的数据值以及所述第二数据的数据值均不相同;
数据同步模块,用于将所述第三数据同步至所述第一数据库中,以便所述第二数据库从所述第一数据库同步所述第三数据;
信息输出模块,用于若同步后的第二数据库存在所述第三数据,输出用于指示所述第一数据库与第二数据库同步成功的指示信息。
9.一种计算机设备,其特征在于,所述计算机设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的计算机程序,其中所述计算机程序被所述处理器执行时,实现如权利要求1至7中任一项所述的数据库的同步验证方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,其中所述计算机程序被处理器执行时,实现如权利要求1至7中任一项所述的数据库的同步验证方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210044768.3A CN114416874A (zh) | 2022-01-14 | 2022-01-14 | 数据库的同步验证方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210044768.3A CN114416874A (zh) | 2022-01-14 | 2022-01-14 | 数据库的同步验证方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114416874A true CN114416874A (zh) | 2022-04-29 |
Family
ID=81272565
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210044768.3A Pending CN114416874A (zh) | 2022-01-14 | 2022-01-14 | 数据库的同步验证方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114416874A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116436836A (zh) * | 2023-06-13 | 2023-07-14 | 阿里巴巴(中国)有限公司 | 域名数据同步检测方法、装置及设备 |
-
2022
- 2022-01-14 CN CN202210044768.3A patent/CN114416874A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116436836A (zh) * | 2023-06-13 | 2023-07-14 | 阿里巴巴(中国)有限公司 | 域名数据同步检测方法、装置及设备 |
CN116436836B (zh) * | 2023-06-13 | 2023-09-01 | 阿里巴巴(中国)有限公司 | 域名数据同步检测方法、装置及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108805570B (zh) | 数据处理方法、装置及存储介质 | |
US8849750B2 (en) | Synchronization for initialization of a remote mirror storage facility | |
CN108153784B (zh) | 同步数据处理方法和装置 | |
CN111654522B (zh) | 文件同步方法、文件同步服务器及存储介质 | |
CN111209343A (zh) | 节点数据同步方法、装置、设备以及存储介质 | |
WO2024007481A1 (zh) | 安全芯片的故障检测方法、装置、电子设备及介质 | |
CN111666087A (zh) | 运算规则更新方法、装置、计算机***及可读存储介质 | |
CN114461262A (zh) | 数据处理方法、***、装置、设备,及计算机存储介质 | |
CN114416874A (zh) | 数据库的同步验证方法、装置、设备及存储介质 | |
CN111290961A (zh) | 接口测试的管理方法、装置及终端设备 | |
CN114090682A (zh) | 一种多通道联盟链上链方法、装置、设备及存储介质 | |
CN106383755A (zh) | 在主从式数据库***中恢复从库的方法、装置和*** | |
CN114625751A (zh) | 基于区块链的数据溯源查询方法及装置 | |
CN113515534B (zh) | 基于区块链的并发交易数据处理方法、装置、设备及介质 | |
CN115994124A (zh) | 文件扫描方法、装置、电子设备和计算机可读存储介质 | |
CN112765124B (zh) | 一种自动校验数据的核对方法及服务器 | |
US20220029814A1 (en) | Non-transitory computer-readable storage medium, information processing method, and information processing apparatus | |
CN110620800A (zh) | 电力二次***跨安全区的配置数据同步处理方法和装置 | |
CN115481589A (zh) | 数据交付方法及装置 | |
CN114564336A (zh) | 数据一致性校验方法、装置、设备以及存储介质 | |
CN112612773A (zh) | 数据库同步测试方法、装置、计算机设备及存储介质 | |
CN103761247B (zh) | 一种出错文件的处理方法及装置 | |
CN112559546A (zh) | 数据库同步方法、装置、计算机设备及可读存储介质 | |
CN105765908A (zh) | 一种多站点自动更新方法、客户端和*** | |
CN111400328A (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 |