CN111737354A - 数据一致性的检测方法、装置、系统及介质 - Google Patents
数据一致性的检测方法、装置、系统及介质 Download PDFInfo
- Publication number
- CN111737354A CN111737354A CN202010616145.XA CN202010616145A CN111737354A CN 111737354 A CN111737354 A CN 111737354A CN 202010616145 A CN202010616145 A CN 202010616145A CN 111737354 A CN111737354 A CN 111737354A
- Authority
- CN
- China
- Prior art keywords
- data
- database
- value
- detection
- consistency
- 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
- 238000000034 method Methods 0.000 title claims abstract description 69
- 238000001514 detection method Methods 0.000 claims abstract description 201
- 230000004044 response Effects 0.000 claims abstract description 23
- 230000008859 change Effects 0.000 claims abstract description 22
- 238000012216 screening Methods 0.000 claims description 28
- 230000001960 triggered effect Effects 0.000 claims description 20
- 238000001914 filtration Methods 0.000 claims description 16
- 230000015654 memory Effects 0.000 claims description 12
- 230000006870 function Effects 0.000 description 23
- 230000002159 abnormal effect Effects 0.000 description 17
- 230000008569 process Effects 0.000 description 17
- 238000012423 maintenance Methods 0.000 description 15
- 238000004590 computer program Methods 0.000 description 12
- 230000005856 abnormality Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 10
- 238000012544 monitoring process Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 230000010076 replication Effects 0.000 description 7
- 238000012360 testing method Methods 0.000 description 7
- 230000008901 benefit Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000009977 dual effect Effects 0.000 description 4
- 230000007704 transition Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 3
- 230000000977 initiatory effect Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 230000002035 prolonged effect Effects 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 108010001267 Protein Subunits Proteins 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000010978 in-process monitoring Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000011895 specific detection Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
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
- G06F16/273—Asynchronous replication or reconciliation
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (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示意性示出了根据本公开一实施例的数据一致性的检测方法的流程图;
图3示意性示出了根据本公开另一实施例的数据一致性的检测方法的流程图;
图4示意性示出了根据本公开再一实施例的数据一致性的检测方法的流程图;
图5示意性示出了根据本公开又一实施例的数据一致性的检测方法的流程图;
图6示意性示出了根据本公开实施例的方法中设置第一数据库与第二数据库中信息的对应关系的示例;
图7示意性示出了根据本公开一实施例的数据一致性的检测装置的框图;
图8示意性示出了根据本公开另一实施例的数据一致性的检测装置的结构图;
图9示意性示出了应用图8所示的检测装置进行数据一致性检测的方法流程图;
图10示意性示出了图8所示的检测装置中检测功能模块执行的方法流程;以及
图11示意性示出了适于实现根据本公开实施例的数据一致性检测的方法的计算机系统的方框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
本公开各个实施例提供了一种可以精确定位出复制操作的异常影响到的数据库、数据表、甚至字段的检测方法、检测装置、检测系统及介质。对于进行有复制操作的两个数据库,通过分别获取两个数据库中对应数据表中对应字段中的对应的数据,并比较所获得的两个数据的值是否一致,来确定该两个数据库之间的复制操作是否存在异常。这样,当存在异常时就可以快速定位出复制操作的异常所影响到的数据库、及数据表的信息。
具体地,根据本公开实施例的检测方法包括:首先接收检测请求,该检测请求用于请求检测将数据从第一数据库复制到第二数据库的复制操作的数据一致性;然后响应于该检测请求,将第一数据库中的第一数据的值变更为第一数值;接着在第一数据的值的变更触发复制操作之后,获取第二数据库中与第一数据对应的第二数据的值以得到第二数值,其中,通过前述复制操作将第一数据的值复制到第二数据中;之后在第一数值与第二数值一致时,确定该复制操作具有数据一致性。可选地,在第一数值与第二数值一致时,可以确定该复制操作不具有数据一致性,并且可以进行异常情况报警。
以此方式,本公开的实施例通过获取第一数据库和第二数据库双方数据进行校验以检测复制操作的状态,可以更精确地定位到复制操作中产生不一致的数据库、数据表甚至具体的字段。
图1示意性示出了应用根据本公开实施例的数据一致性的检测方法、装置、系统及介质的系统架构100。
如图1所示,根据该实施例的系统架构100可以包括第一数据库101、第二数据库102、以及根据本公开实施例的检测装置103。
检测装置103分别与第一数据库101和第二数据库102连接,例如,可以分别与第一数据库101和第二数据库102通信,或者可以分别从第一数据库101和第二数据库102获取数据。
第一数据库101和第二数据库102之间进行有复制操作10。该复制操作10可以将第一数据库101中的数据复制到第二数据库102中的对应位置。在一个实施例中,第一数据库101为主机系统数据库,第二数据库102为开放平台数据库,则该复制操作10可以是软件QREP所执行的操作。QREP(Q-REPLICATION)是IBM公司开发的用于主机系统与开放平台系统之间数据复制的软件产品,该产品从机制上保证数据的一致性,并且复制性能高,架构灵活,支持跨平台异构复制,特别适合从主机到开放平台的数据交换应用场景。
本公开实施例的数据一致性的检测方法可以由检测装置103来执行。检测装置103可以分别获取第一数据库101和第二数据库102中对应数据表中对应字段中的对应的数据,并通过比较所获得的两个数据的值是否一致来确定复制操作10是否具有数据一致性。
检测装置103的具体结构可以是例如参考下文图7所描述的检测装置700、或者例如参考下文图8所描述的检测装置800、或者例如参考下文图11所描述的计算机系统1100,或者例如也可以是计算机可读存储介质,或者程序产品等。
需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
以下结合图1对本公开实施例的检测方法、检测装置、检测系统及介质进行示例性说明。
图2示意性示出了根据本公开一实施例的数据一致性的检测方法的流程图。
如图2所示,该检测方法可以包括操作S210~操作S240。
首先在操作S210,接收检测请求,检测请求用于请求检测将数据从第一数据库101复制到第二数据库102的复制操作10的数据一致性。
在一个实施例中操作S210中可以是接收预设的后台定时任务发起的检测请求。相应地,可以在执行本公开实施例的检测方法后,将复制操作10是否具有数据一致性的判断结果进行后台存储,形成检测日志。
在另一个实施例中,操作S210中接收检测请求,可以是接收基于在用户界面上的用户操作触发的检测请求。相应地,可以在执行本公开实施例的检测方法后,将复制操作10是否具有数据一致性的判断结果发送至用户界面。
例如,检测装置103可以采用BS架构,设置有网页前端和后台服务器两部分。操作S210中该检测请求既可以是根据用户(例如,运维人员)在网页前端的操作而产生的,也可以是根据在后台服务器中预设的后台定时任务发起的。例如,在后台定时任务中设置按照预定频率发起检测请求,以检测复制操作10的数据一致性。
然后在操作S220,响应于检测请求,将第一数据库101中的第一数据的值变更为第一数值。
具体地,在操作S220中可以首先生成用于变更第一数据库101中的第一数据的值的变更语句,并建立与第一数据库101的连接,之后根据前述变更语句对第一数据库101中的第一数据执行变更操作。
该变更语句可以示例为:connect m_db;update m_tab set m_col=random_datawhere m_choose_his。其中,m_db为第一数据库101的数据库名,m_tab为第一数据所在的第一数据表的表名,m_col为第一数据所在的第一字段的字段名,m_choose_his为在第一字段中筛选出第一数据的历史筛选条件。
在建立与第一数据库101的连接时可以先判断第一数据库101的服务是否正常。如果正常则连接第一数据库101并执行变更,如果不正常则可以触发复制操作10异常报警等操作。以此方式,可以在进行数据一致性检测时进行预判断,当发现第一数据库101服务中断等异常情况,及时提前报警提醒,提高了对第一数据库101到第二数据库102的复制操作10的监控运维效率。
再然后在操作S230,在第一数据的值的变更触发复制操作10之后,获取第二数据库102中与第一数据对应的第二数据的值以得到第二数值,其中,复制操作10将第一数据的值复制到第二数据中。
根据本公开的实施例,该复制操作10可以是同步复制操作,即可以将数据从第一数据库101实时同步复制到第二数据库102。其中,第一数据库101中一旦出现数据变更,就会自动复制到第二数据库102中。在此情况下,第一数据的值的变更会自动触发复制操作10将第一数据的值复制到第二数据中。
根据本公开的另一些实施例,该复制操作10也可以是基于人工手动触发的复制操作10。例如需要运维人员手动操作,将第一数据库101中在运维人员手动操作时刻的全量或者存在有变更的数据对应复制到第二数据库102中。在此情况下,可以在第一数据的值的变更后,由用户手动操作来触发该复制操作10以将第一数据的值复制到第二数据中。
最后在操作S240,在第一数值与第二数值一致时,确定复制操作10具有数据一致性。
当复制操作10具有一致性时,表征复制操作10运行正常。而当出现其他情况,例如,第一数值与第二数值不一致,或者在检测过程中预判到第一数据库101和/或第二数据库102服务不正常时,则表征复制操作10运行异常。
以此方式,本公开实施例的检测方法,对数据一致性的检测可以具体到数据库、数据表、字段甚至具体的数据,可简化检测定位问题的复杂度,保证数据同步的时效及双系统的业务数据一致性,提高测试环境运维、测试效率。
图3示意性示出了根据本公开另一实施例的数据一致性的检测方法的流程图。
如图3所示,该检测方法可以包括操作S210、操作S221~操作S222、操作S231~操作S232、以及操作S240。根据本公开的实施例,复制操作10包括将数据从第一数据库101同步复制到第二数据库102的操作,其中,操作S210与操作S240与前述一致,操作S221~操作S222为前述操作S220的一个具体实施例,操作S231~操作是232为前述操作S230的一个具体实施例。
具体地,首先在操作S210,接收检测请求,检测请求用于请求检测将数据从第一数据库101复制到第二数据库102的复制操作10的数据一致性。
然后在操作S221,响应于检测请求,生成第一数值,第一数值包括一随机数或一时间戳。
接着在操作S222,将第一数据的值变更为第一数值。
根据本公开的实施例,使用随机数或时间戳可以使变更后的第一数据的值具有唯一性,提高复制操作10的检测结果的可靠性。例如,假设第一数值不具有唯一性时,可能会存在有根据本公开实施例的方法对第一数据进行过变更之后,其他操作主体(例如,操作第一数据库101的系统)也可能对第一数据进行变更,如果这两个变更生成的值是一样的,那么在操作S240中就无法确定第一数值究竟是操作S222引起的,还是对其他操作主体的操作引起到。这样会影响到后续分析中复制操作10的检测结果的可靠性。
接下来在操作S231,响应于与将第一数据的值变更为第一数值的时刻的时间间隔达到预定时长,获取第一数据的值以得到第三数值。
该预定时长是留给复制操作10将数据从第一数据库101同步复制到第二数据库102的时间。该预定时的长短可以根据实际需要来设定。例如,可以设置为10s。实际中复制操作10的执行往往要不了10s,但是预留出较长时间可以避免诸如在这段时间内的数据拥堵的情况对数据复制过程延误的影响。
再然后在操作S232,响应于第三数值与第一数值一致,获取第二数据的值以得到第二数值。
最后在操作S240,在第一数值与第二数值一致时,确定复制操作10具有数据一致性。
继操作S222将第一数据的值变更为第一数值之后,在操作S231中又获取第一数据的值可以验证在操作S222中之后是否有其他操作主体(例如,操作第一数据库101的系统)对第一数据的值进行过变更。如果没有发生过变更,即第三数值与第一数值一致,后续将第二数据库102中的第二数据的数值与第一数值进行比较的分析所得的结论就会比较可靠。如果有变更的话,即第三数值与第一数值不一致,后续将第二数据库102中的第二数据的数值与第三数值进行比较的分析就可能存在不确定性的问题。例如,如果第三数值与第一数值不同,则说明在操作S222之后第一数据又被变更过,这样会导致难以精准确定第二数据库102中的第二数据的值是来自于对第一数值的复制还是对第三数值的复制。
图4示意性示出了根据本公开再一实施例的数据一致性的检测方法的流程图。
如图4所示,根据该实施例的检测方法除了包括操作S210~操作S240以外,还可以包括操作S440、操作S450和操作S460。
其中,在操作S230中获取到第二数据库102中的第二数据的值(即,第二数值)之后,在操作S440中确定第一数值与第二数值是否一致。如果一致,则执行操作S240,即确定复制操作10具有数据一致性;如不一致在执行操作S450和操作S460。
具体地,在操作S450,在第一数值与第二数值不一致时,确定复制操作10不具有数据一致性。然后在操作S460,响应于复制操作10不具有数据一致性,触发报警。
本公开实施例的检测方法,可以快速定位出复制操作10的异常引起的数据不一致性的具体数据库、数据表,甚至具体字段。对于数据库中存在对多个应用系统、多套月度版本对应的大量数据表的情况,可简化多定位异常所在位置的复杂度,保证数据同步的时效及双系统的业务数据一致性,提高测试环境运维、测试效率。
本公开实施例的检测方法,对于在复制操作10的执行过程中任一环节出现的数据不一致问题,系统能快速定位并自动触发报警通知,方便运维人员快速、精准解决问题,确保复制操作10保持一致性。
根据本公开的一个实施例,操作S210中接收检测请求,具体可以是接收预设的后台定时任务按照预定频率发起的检测请求。从而,对应于后台定时任务每次发起检测请求,均可以执行例如图4所描述的方法流程。根据本公开一实施例,在连续触发报警的次数达到阈值时,将预定频率从第一频率降低为第二频率。然后在再次确定复制操作10具有数据一致性时,将预定频率从第二频率恢复至第一频率。
每次检测到异常结果就触发报警,而在异常恢复到正常这一过程中,如果仍保持高频率(即,第一频率)的检测行为会不断地触发报警,不仅会造成不必要的资源浪费,而且也会给运维人员造成巨大的困扰。本公开实施例可以动态调整后台定时任务发起检测请求的频率。通过设置一个阀值,当触发报警的次数达到阀值时,动态延长后台定时任务的间隔时长,以降低触发报警的频率,给运维人员足够的时间去处理和恢复。等对复制操作10的检测结果恢复为正常之后,再将后台定时任务发起检测请求的预定频率从第二频率恢复至第一频率。
图5示意性示出了根据本公开又一实施例的数据一致性的检测方法的流程图。
如图5所示,根据该实施例的检测方法除了以上图2~图4任意一实施例所描述的方法流程外,还可以包括操作S510~操作S530。该实施例中通过操作S510~操作S530来设置设置第一数据和第二数据的对应关系。
具体地,首先在操作S510,获取第一数据库101中的第一数据表、第一字段、以及第一筛选条件,其中,第一数据为第一数据库101中的第一数据表的第一字段中符合第一筛选条件的数据。
然后在操作S520,获取第二数据库102中的第二数据表、第二字段、以及第二筛选条件,其中,第二数据为第二数据库102中的第二数据表的第二字段中符合第二筛选条件的数据。
接着在操作S530,设置第一数据表与第二数据表、第一字段与第二字段、以及第一筛选条件与第二筛选条件一一对应。
根据本公开的实施例,第一字段包括非关键字段,非关键字段为第一数据表中不影响业务使用的字段。根据本公开的另一实施例,第一筛选条件包括用于筛选历史数据的条件。例如,第一数据可以是第一数据表中非关键字段中的一个历史数据,诸如是用于记录时间信息的一个历史数据。这样根据本公开实施例的方法在对第一数据进行了变更后,不影响到当前的业务运行,而且也可以最大限度的降低对业务历史数据进行分析的影响等。
图6示意性示出了根据本公开实施例的方法中设置第一数据库101与第二数据库102中信息的对应关系的示例。其中,图6以第一数据库101为主机系统数据库,第二数据库102为开放平台数据库为例进行示意。
如图6所示,该对应关系涉及主机侧与开放平台侧之间的数据库层面、数据表层面、字段层面、以及数据筛选条件层面共四个层面的对应关系。具体地,该对应关系可以包括以下四组对应关系:主机数据库信息m_db与平台数据库信息p_db对应、主机表名m_tab与平台表名p_tab对应、主机非关键字段m_col与平台非关键字段p_tab对应、主机表历史数据筛选条件m_choose_his与平台表历史数据筛选条件p_choose_his的对应关系。基于以上四组对应关系,可以将主机系统数据库中的第一数据对应到开放平台数据库的第二数据,其中,通过复制操作10可以将第一数据的值复制到该第二数据中。
主机系统数据库和开放平台数据库之间的复制操作10可以通过软件QREP来执行。在实际运维过程中,由于测试环境项目并行迭代开发,会存在对多个应用系统、多套月度版本对应的多个数据库、大量数据表利用QREP产品进行数据复制的场景。在数据从主机系统数据库复制到开放平台数据库的过程中涉及环节较多,经常会由于某一环节的故障,导致主机系统数据库与开放平台数据库出现数据不一致的情况,进而引发相关访问数据的联机应用发生错误。相关技术中一般是采用端口监听或者进程监控方式来监控复制操作10的数据一致性。然而端口监听存在网络故障导致监听异常的风险,进程监控存在进程假死导致信息不准确的问题,而且都存在无法精确定位到出现异常问题的数据库、表和字段。另外,QREP产品每次在同步处理时会向自带的applymon表中记录时间戳等操作日志,因此相关技术中也有通过检测该时间戳是否有变动来判断QREP复制是否正常,但这种方法也存在无法精确定位出现异常的数据库表,后期还需要人工继续介入排查。
根据本公开实施例的方法,可以设置如图6所示的对应关系,然后通过参考图2~图4所描述的方法流程,来检测主机系统数据库与开放平台数据库之间的复制操作10的一致性,可以更精确地定位到复制操作10中产生不一致的数据库、数据表甚至具体的字段,简化检测定位问题的复杂度,保证数据同步的时效及双系统的业务数据一致性,提高测试环境运维、测试效率。
进一步地,在检测装置103中还可以预先设置有如图6所示的其他存储信息,包括定时任务表达式cron、报警次数warm_count、以及报警收件人名单warm_names。其中,定时任务表达式cron可以用于设置后台定时任务发起的检测请求的内容、预定频率等。报警次数warm_count可以用于记录连续触发报警的次数,当达到阈值时可以动态调整后台定时任务的预定频率。报警收件人名单warm_names可以用于设置当检测复制操作10不具有一致性而触发报警时接收该报警信息的运维人员的信息。
图7示意性示出了根据本公开一实施例的数据一致性的检测装置700的框图。
如图7所示,根据本公开一实施例,该检测装置700可以包括第一接收模块710、第一变更模块720、第一获取模块730、以及第一确定模块740。根据本公开另一实施例,该检测装置700还可以包括对应关系设置模块750、和/或异常处理模块760、和/或报警设置模块770。该检测装置700可以用于实现参考如上图2~图6所描述的检测方法。
具体地,第一接收模块710例如可以执行操作S210,用于接收检测请求,检测请求用于请求检测将数据从第一数据库101复制到第二数据库102的复制操作10的数据一致性。
第一变更模块720例如可以执行操作S220,用于响应于检测请求,将第一数据库101中的第一数据的值变更为第一数值。
第一获取模块730例如可以执行操作S230,用于在第一数据的值的变更触发复制操作10之后,获取第二数据库102中与第一数据对应的第二数据的值以得到第二数值,其中,复制操作10将第一数据的值复制到第二数据中。
第一确定模块740例如可以执行操作S240,用于在第一数值与第二数值一致时,确定复制操作10具有数据一致性。
对应关系设置模块750例如可以执行操作S510~操作S530,用于设置第一数据和第二数据的对应关系。具体包括获取第一数据库101中的第一数据表、第一字段、以及第一筛选条件,其中,第一数据为第一数据库101中的第一数据表的第一字段中符合第一筛选条件的数据(操作S510);获取第二数据库102中的第二数据表、第二字段、以及第二筛选条件,其中,第二数据为第二数据库102中的第二数据表的第二字段中符合第二筛选条件的数据(操作S520);以及设置第一数据表与第二数据表、第一字段与第二字段、以及第一筛选条件与第二筛选条件一一对应(操作S530)。
异常处理模块760例如可以执行操作S450和操作S460,用于在第一数值与第二数值不一致时,确定复制操作10不具有数据一致性,以及响应于复制操作10不具有数据一致性,触发报警。
第一接收模块710还用于接收预设的后台定时任务按照预定频率发起的检测请求。报警设置模块770用于在异常处理模块连续触发报警的次数达到阈值时,将预定频率从第一频率降低为第二频率,以及在再次确定复制操作10具有数据一致性时,将预定频率从第二频率恢复至第一频率。
以下结合图8~图10的示例,对本公开实施例的检测装置和检测方法的一个应用实例进行示例性说明,其中在该应用实例中第一数据库101为主机系统数据库,第二数据库102为开放平台数据库。可以理解,图8~图10仅为本公开实施例的应用实例的示意性说明,不对本公开构成任何限定。
图8示意性示出了根据本公开另一实施例的数据一致性的检测装置800的结构图。
如图8所示,该实施例的检测装置800可以包括数据库存储模块801、网页前端模块802、后台定时任务模块803、检测功能模块804、以及报警功能模块805。
该检测装置800可以采用BS架构,通过网页前端模块802、后台定时任务模块803、检测功能模块804、数据库存储模块801、以及报警功能模块805的交互,来实现对主机系统数据库和开放平台数据库之间的复制操作10的一致性检测。主机系统数据库非常庞大,里面有上万张表。本公开实施例通过简化处理逻辑,将针对庞大数据库的直接检测,分解细化为针对数据表的检测,将针对数据表的检测分解细化为针对数据表中的非关键字段的检测,将针对非关键字段的检测再分解细化为针对字段中符合历史筛选条件的数据的检测。为了提高检测的准确性,每一个检测操作都可以视为是针对单库单表单字段单数据的检测。
具体地,数据库存储模块801用于预先存储主机数据库信息和平台数据库信息的对应关系,形成如图6所示的多个层面的对应关系。具体地,可以梳理关键常用的主机表名和平台表名的对应关系,梳理主机表名和平台表名中非关键字段名的对应关系,并通过历史筛选条件筛选出一条历史数据作为数据判断条件,并将上述对应关系保存在数据库。另外数据库存储模块801还可以记录报警定时任务表达式、报警次数、报警收件人等其它规则存储信息。实际应用中可根据实际情况继续补充其它存储信息。
网页前端模块802是提供给用户进行主机系统数据库到开放平台数据库的复制操作10的数据一致性检测的用户界面。针对已纳入检测的主机数据库信息和平台数据库信息的对应关系、后台定时任务、报警收件人名单等配置规则信息,用户可通过该用户界面进行查询,并进行一些维护操作。例如用户可新增、修改、删除一些配置信息,或者用户可对检测日志进行查询操作,再或者用户可筛选检测配置信息,并发起对该检测配置信息的数据一致性检测、并对检测结果进行查看或校验等。
后台定时任务模块803,根据定时任务表达式的设置,按照预定频率发起检测请求,触发检测功能模块804的检测执行。
检测功能模块804,用于通过获取主机系统数据库和开放平台数据库双方数据进行校验以检测复制操作10的状态。具体工作流程可以参考图10的示意。
报警功能模块805:当检测功能模块804返回异常结果时,触发报警功能模块进行报警。报警可以通过发邮件或者短信等方式进行。因为主机系统的数据通过QREP产品复制到开放平台是时刻都可能发生的,所以正常情况下,会设置后台定时任务的预定频率(即,第一频率)非常高才能保证高效的监控数据的一致性。每次检测到复制操作10的异常就触发报警行为,而在从异常恢复到正常这一过程中,保持高频率的报警肯定会造成不必要的资源浪费,并给处理方造成巨大的困扰,此时可以采取动态调整后台定时任务发起检测请求的频率。通过设置一个阀值,当触发报警的次数达到阀值时,动态延长后台定时任务的间隔时长,以降低触发报警频率,给运维人员足够的时间去处理和恢复。等对复制操作10的检测结果恢复为正常之后,再将后台定时任务发起检测请求的预定频率从第二频率恢复至第一频率。
图9示意性示出了应用图8所示的检测装置800进行数据一致性检测的方法流程图。
如图9,检测装置800的工作流程可以包括步骤S901~步骤S914。
步骤S901:用户通过网页前端模块802触发检测请求。网页前端模块802与数据库存储模块801进行交互,获取如图6所示的本次检测的主机侧和开放平台侧信息和其它存储信息,并基于这些信息形成检测请求。
步骤S902:后台定时任务模块803根据定时任务表达式中设置的预定频率发起检测请求。后台定时任务模块803与数据库存储模块801进行交互,获取如图6所示的本次检测的主机侧和平台侧信息和其它存储信息,并基于这些信息形成检测请求。可以理解步骤S901和步骤S902相互独立,可以并行执行。
步骤S903:检测功能模块804对检测请求进行解析处理,生成主机系统数据库和开放平台数据库之间的复制操作10是否具有数据一致性的检测结果。其中,具有数据一致性的检测结果表明复制操作10运行正常,其他情况则表明复制操作10运行异常。具体检测过程可以参考图10的描述。
步骤S904:对检测结果做判断,正常则转步骤S905,异常则转步骤S910。
步骤S905:判断当前检测请求是否网页前端模块802触发的。若是是网页前端模块802触发的则转S906;若否则是后台定时任务模块803触发的,则转S908。
步骤S906:将检测结果返回网页前端模块802中的用户界面,用户可以对检测详细信息进行查看。
步骤S907:将此次检测请求和检测结果、检测时间记录为检测日志。
步骤S908:查询检测日志,判断上次检测的结果是否异常。如果上次检测结果是异常,而本次在操作S904中的检测结果是正常的,说明本次检测结果的正常是从异常中恢复过来的,此时转步骤S909。如果上次检测结果是正常,本次也正常,则转步骤S907。
步骤S909:将发起此次检测请求的后台定时任务的预定频率恢复为原检测频率,报警次数恢复为0。
步骤S910:判断当前检测请求是否网页前端模块触发的。若是网页前端模块802触发的则转S906;若否则此次检测请求是后台定时任务模块803触发的,则转S911。
步骤S911:启动报警模块,报警次数加1。
步骤S912:判断报警次数是否等于阀值,是则转步骤S913,否则转步骤S914。
步骤S913:将发起此次检测请求的后台定时任务的预定频率降低为第二频率。
步骤S914:将具体报警信息使用邮件或者短信形式通知用户。
图10示意性示出了图8所示的检测装置中检测功能模块804执行的方法流程。
如图9和图10所示,检测功能模块804可以执行步骤S903,具体可以包括步骤S1001~步骤S1013。
步骤S1001:后台检测程序生成随机数random data。
步骤S1002:根据检测请求中的主机侧信息(例如,图6中的主机侧信息),生成主机系统数据库变更语句(connect m_db;update m_tab set m_col=random_data where m_choose_his)。
步骤S1003:判断主机系统数据库服务是否正常,正常则转S1004,异常则转S1013。
步骤S1004:连接主机系统数据库,执行数据变更。
步骤S1005:延时10秒,以等待主机系统通过QREP往开放平台系统复制数据。当然具体延时时长也可以以实际情况为准。
步骤S1006:根据检测请求中的主机侧信息,生成主机系统数据库数据查询语句(connect m_db;select m_col from m_tab where m_choose_his)。
步骤S1007:判断主机系统数据库服务是否正常,正常则转S1008,异常则转S1013。
步骤S1008:连接主机系统数据库,执行查询语句,返回结果。
步骤S1009:根据检测请求中的平台侧信息(例如,图6中的开放平台侧信息),生成开放平台数据库数据查询语句(connect p_db;select p_col from p_tab where p_choose_his)。
步骤S1010:判断开放平台数据库服务是否正常,正常则转S1011,异常则转S1013。
步骤S1011:连接开放平台数据库,执行查询语句,返回结果。
步骤S1012:在S1008的数据为random_data时,对比81008和S1011返回的结果,检查数据是否一致,一致返回正常结果,不一致返回异常结果,并进行后续操作。
步骤S1013:将生成的检测结果记录检测日志。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,第一接收模块710、第一变更模块720、第一获取模块730、第一确定模块740、对应关系设置模块750、异常处理模块760、报警设置模块770、数据库存储模块801、网页前端模块802、后台定时任务模块803、检测功能模块804、报警功能模块805中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,第一接收模块710、第一变更模块720、第一获取模块730、第一确定模块740、对应关系设置模块750、异常处理模块760、报警设置模块770、数据库存储模块801、网页前端模块802、后台定时任务模块803、检测功能模块804、报警功能模块805中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,第一接收模块710、第一变更模块720、第一获取模块730、第一确定模块740、对应关系设置模块750、异常处理模块760、报警设置模块770、数据库存储模块801、网页前端模块802、后台定时任务模块803、检测功能模块804、报警功能模块805中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图11示意性示出了适于实现根据本公开实施例的数据一致性检测的方法的计算机系统1100的方框图。图11示出的计算机系统1100仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图11所示,根据本公开实施例的计算机系统1100包括处理器1101,其可以根据存储在只读存储器(ROM)1102中的程序或者从存储部分1108加载到随机访问存储器(RAM)1103中的程序而执行各种适当的动作和处理。处理器1101例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器1101还可以包括用于缓存用途的板载存储器。处理器1101可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 1103中,存储有计算机系统1100操作所需的各种程序和数据。处理器1101、ROM 1102以及RAM 1103通过总线1104彼此相连。处理器1101通过执行ROM 1102和/或RAM1103中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 1102和RAM 1103以外的一个或多个存储器中。处理器1101也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,计算机系统1100还可以包括输入/输出(I/O)接口1105,输入/输出(I/O)接口1105也连接至总线1104。计算机系统1100还可以包括连接至I/O接口1105的以下部件中的一项或多项:包括键盘、鼠标等的输入部分1106;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1107;包括硬盘等的存储部分1108;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1109。通信部分1109经由诸如因特网的网络执行通信处理。驱动器1110也根据需要连接至I/O接口1105。可拆卸介质1111,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1110上,以便于从其上读出的计算机程序根据需要被安装入存储部分1108。
根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1109从网络上被下载和安装,和/或从可拆卸介质1111被安装。在该计算机程序被处理器1101执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 1102和/或RAM 1103和/或ROM 1102和RAM 1103以外的一个或多个存储器。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。
Claims (12)
1.一种数据一致性的检测方法,包括:
接收检测请求,所述检测请求用于请求检测将数据从第一数据库复制到第二数据库的复制操作的数据一致性;
响应于所述检测请求,将所述第一数据库中的第一数据的值变更为第一数值;
在所述第一数据的值的变更触发所述复制操作之后,获取所述第二数据库中与所述第一数据对应的第二数据的值以得到第二数值,其中,所述复制操作将所述第一数据的值复制到所述第二数据中;以及
在所述第一数值与所述第二数值一致时,确定所述复制操作具有数据一致性。
2.根据权利要求1所述的检测方法,其中,所述复制操作包括将数据从第一数据库同步复制到第二数据库的操作;所述在所述第一数据的值的变更触发所述复制操作之后,获取所述第二数据库中与所述第一数据对应的第二数据的值以得到第二数值,包括:
响应于与将所述第一数据的值变更为所述第一数值的时刻的时间间隔达到预定时长,获取所述第一数据的值以得到第三数值;以及
响应于所述第三数值与所述第一数值一致,获取所述第二数据的值以得到所述第二数值。
3.根据权利要求1所述的检测方法,其中,所述方法还包括设置所述第一数据和所述第二数据的对应关系,包括:
获取所述第一数据库中的第一数据表、第一字段、以及第一筛选条件,其中,所述第一数据为所述第一数据库中的第一数据表的第一字段中符合第一筛选条件的数据;
获取所述第二数据库中的第二数据表、第二字段、以及第二筛选条件,其中,所述第二数据为所述第二数据库中的第二数据表的第二字段中符合第二筛选条件的数据;以及
设置所述第一数据表与所述第二数据表、所述第一字段与所述第二字段、以及所述第一筛选条件与所述第二筛选条件一一对应。
4.根据权利要求3所述的检测方法,其中:
所述第一字段包括非关键字段,所述非关键字段为所述第一数据表中不影响业务使用的字段;和/或
所述第一筛选条件包括用于筛选历史数据的条件。
5.根据权利要求1所述的检测方法,其中,所述响应于所述检测请求,将所述第一数据库中的第一数据的值变更为第一数值包括:
响应于所述检测请求,生成所述第一数值,所述第一数值包括一随机数或一时间戳;以及
将所述第一数据的值变更为所述第一数值。
6.根据权利要求1~5任意一项所述的检测方法,其中,所述方法还包括:
在所述第一数值与所述第二数值不一致时,确定所述复制操作不具有数据一致性;以及
响应于所述复制操作不具有数据一致性,触发报警。
7.根据权利要求6所述的检测方法,其中,
所述接收检测请求包括:接收预设的后台定时任务按照预定频率发起的所述检测请求;
所述方法还包括:
在连续触发报警的次数达到阈值时,将所述预定频率从第一频率降低为第二频率;以及
在再次确定所述复制操作具有数据一致性时,将所述预定频率从所述第二频率恢复至所述第一频率。
8.根据权利要求6所述的检测方法,其中:
所述接收检测请求包括:接收基于在用户界面上的用户操作触发的所述检测请求;
所述方法还包括:将所述复制操作是否具有数据一致性的判断结果发送至所述用户界面。
9.根据权利要求1所述的检测方法,其中,
所述第一数据库为主机系统数据库;以及
所述第二数据库为开放平台数据库。
10.一种数据一致性的检测装置,包括:
第一接收模块,用于接收检测请求,所述检测请求用于请求检测将数据从第一数据库复制到第二数据库的复制操作的数据一致性;
第一变更模块,用于响应于所述检测请求,将所述第一数据库中的第一数据的值变更为第一数值;
第一获取模块,用于在所述第一数据的值的变更触发所述复制操作之后,获取所述第二数据库中与所述第一数据对应的第二数据的值以得到第二数值,其中,所述复制操作将所述第一数据的值复制到所述第二数据中;以及
第一确定模块,用于在所述第一数值与所述第二数值一致时,确定所述复制操作具有数据一致性。
11.一种数据一致性的检测系统,包括:
一个或多个存储器,其上存储有计算机可执行指令;
一个或多个处理器,所述处理器执行所述指令,以实现根据权利要求1~9中任一项所述的检测方法。
12.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行根据权利要求1~9中任一项所述的检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010616145.XA CN111737354A (zh) | 2020-06-30 | 2020-06-30 | 数据一致性的检测方法、装置、系统及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010616145.XA CN111737354A (zh) | 2020-06-30 | 2020-06-30 | 数据一致性的检测方法、装置、系统及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111737354A true CN111737354A (zh) | 2020-10-02 |
Family
ID=72653830
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010616145.XA Pending CN111737354A (zh) | 2020-06-30 | 2020-06-30 | 数据一致性的检测方法、装置、系统及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111737354A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113434190A (zh) * | 2021-06-30 | 2021-09-24 | 青岛海尔科技有限公司 | 数据处理方法和装置、存储介质及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001290689A (ja) * | 2000-04-07 | 2001-10-19 | Hitachi Ltd | 複数データベース間のレプリケーションのデータ検証方法 |
CN104346454A (zh) * | 2014-10-30 | 2015-02-11 | 上海新炬网络技术有限公司 | 基于Oracle数据库的数据一致性校验方法 |
CN110928891A (zh) * | 2019-11-08 | 2020-03-27 | 中国工商银行股份有限公司 | 数据一致性检测方法、装置、计算设备以及介质 |
CN111177165A (zh) * | 2019-12-23 | 2020-05-19 | 拉扎斯网络科技(上海)有限公司 | 数据一致性检测的方法、装置及设备 |
-
2020
- 2020-06-30 CN CN202010616145.XA patent/CN111737354A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001290689A (ja) * | 2000-04-07 | 2001-10-19 | Hitachi Ltd | 複数データベース間のレプリケーションのデータ検証方法 |
CN104346454A (zh) * | 2014-10-30 | 2015-02-11 | 上海新炬网络技术有限公司 | 基于Oracle数据库的数据一致性校验方法 |
CN110928891A (zh) * | 2019-11-08 | 2020-03-27 | 中国工商银行股份有限公司 | 数据一致性检测方法、装置、计算设备以及介质 |
CN111177165A (zh) * | 2019-12-23 | 2020-05-19 | 拉扎斯网络科技(上海)有限公司 | 数据一致性检测的方法、装置及设备 |
Non-Patent Citations (5)
Title |
---|
CUANFANGXIANG3803: ""三点之间的对等(peer-to-peer)Q 复制配置"", Retrieved from the Internet <URL:https://blog.csdn.net/cuanfangxiang3803/article/details/100500596> * |
HDZWL: ""DB29.7数据库远程单向Q复制简单实例"", pages 1, Retrieved from the Internet <URL:http://blog.itpub.net/7690668/viewspace-662287/> * |
LEO: ""A redhat 7.3 mariadb 主从复制"", Retrieved from the Internet <URL:https://www.cndba.cn/cndba/leo1990/article/2342> * |
温涛 等: "《DB2深度解析 高级DBA和开发者篇》", 东软电子出版社 * |
王宪刚 等: "" 分布式核心银行系统的测试研究与实践"", 《金融电子化》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113434190A (zh) * | 2021-06-30 | 2021-09-24 | 青岛海尔科技有限公司 | 数据处理方法和装置、存储介质及电子设备 |
CN113434190B (zh) * | 2021-06-30 | 2023-06-16 | 青岛海尔科技有限公司 | 数据处理方法和装置、存储介质及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106716972B (zh) | 半自动故障转移 | |
US7664986B2 (en) | System and method for determining fault isolation in an enterprise computing system | |
US8296104B2 (en) | Rule-based engine for gathering diagnostic data | |
US9612937B2 (en) | Determining relevant events in source code analysis | |
US10031830B2 (en) | Apparatus, system, and method for database management extensions | |
CN107660289B (zh) | 自动网络控制 | |
US20140310564A1 (en) | Autonomous Service Management | |
JP2017517060A (ja) | 障害処理方法、関連装置、およびコンピュータ | |
CN107896172B (zh) | 监听故障处理方法及装置、存储介质和电子设备 | |
US9880897B2 (en) | Failure mode identification and reporting | |
US9280453B1 (en) | Method and system for test automation framework for backup and recovery applications | |
US10108474B2 (en) | Trace capture of successfully completed transactions for trace debugging of failed transactions | |
CN111737354A (zh) | 数据一致性的检测方法、装置、系统及介质 | |
CN116089285A (zh) | 一种数据库测试方法、装置、电子设备及可读介质 | |
US9031969B2 (en) | Guaranteed in-flight SQL insert operation support during an RAC database failover | |
US9594622B2 (en) | Contacting remote support (call home) and reporting a catastrophic event with supporting documentation | |
US11238017B2 (en) | Runtime detector for data corruptions | |
US8655845B2 (en) | Reducing duplicate information when reporting system incidents | |
EP3895015B1 (en) | Collecting repeated diagnostics data from across users participating in a document collaboration session | |
WO2020147415A1 (zh) | 抓拍服务进程管理方法、装置、电子设备及可读存储介质 | |
US20240338278A1 (en) | Auto-recovery of known application/workflow failures | |
US11907102B2 (en) | Dynamic debug log enabler for any protection failure jobs | |
US20240231978A1 (en) | Systems, apparatuses, and methods for assessing recovery viability of backup databases | |
US20240289309A1 (en) | Error deduplication and reporting for a data management system based on natural language processing of error messages | |
CN117688089A (zh) | 基于Redis的数据同步切换方法、装置、设备以及存储介质 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20201002 |
|
RJ01 | Rejection of invention patent application after publication |