CN112905653A - 数据比对方法、计算设备及计算机存储介质 - Google Patents
数据比对方法、计算设备及计算机存储介质 Download PDFInfo
- Publication number
- CN112905653A CN112905653A CN202110326203.XA CN202110326203A CN112905653A CN 112905653 A CN112905653 A CN 112905653A CN 202110326203 A CN202110326203 A CN 202110326203A CN 112905653 A CN112905653 A CN 112905653A
- Authority
- CN
- China
- Prior art keywords
- data
- difference
- source
- key
- 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.)
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
- G06F16/24578—Query processing with adaptation to user needs using ranking
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据比对方法、计算设备及计算机存储介质。该方法包括:从第一数据源获取第一数据,判断第二数据源中是否存在与该第一数据一致的第二数据;若否则将该第一数据确定为差异数据;从第二数据源获取第二数据,并判断第一数据源中是否存在与该第二数据一致的第一数据;若否则将该第二数据确定为差异数据;将差异数据的相关信息存储至延迟比对队列;当差异数据的相关信息在延迟比对队列的存储时长达到预设时长时,从延迟比对队列中提取出差异数据的相关信息,并根据提取出的差异数据的相关信息对第一数据源及第二数据源中的数据进行数据比对。采用本方案,能够节约存储资源,降低异常数据的误判率,提升数据比对精度。
Description
技术领域
本发明涉及数据处理技术领域,具体涉及一种数据比对方法、计算设备及计算机存储介质。
背景技术
随着互联网业务的增多,单机房架构已经无法满足庞大的服务需求,从而多机房架构(尤其是双机房架构)被越来越多地应用于互联网业务中。
在多机房架构中,多个机房均可向用户提供服务,从而提高了服务质量及服务效率。并且在某个机房发生服务中断的情况下,其他机房可继续为用户提供服务,从而提升了服务的稳定性。基于此,在多机房架构中,多个机房中的业务数据通常需保持一致。为保障多个机房中业务数据的一致性,通常需对多个机房中的业务数据进行比对。
现有技术中通常是将多个机房中的数据取出,并对取出的数据进行一次比对,将比对不一致的业务数据判定为异常数据。然而,采用现有技术中的数据比对方式,异常数据的误判率高,数据比对精度差;并且现有技术中需额外开辟较大的存储空间来存储待比对的数据,从而增加了存储开销。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的数据比对方法、计算设备及计算机存储介质。
根据本发明的一个方面,提供了一种数据比对方法,包括:
从第一数据源获取第一数据,并判断第二数据源中是否存在与所述第一数据一致的第二数据;若否,则将所述第一数据确定为差异数据;
从第二数据源获取第二数据,并判断第一数据源中是否存在与所述第二数据一致的第一数据;若否,则将所述第二数据确定为差异数据;
将所述差异数据的相关信息存储至延迟比对队列;
当差异数据的相关信息在所述延迟比对队列的存储时长达到预设时长时,从所述延迟比对队列中提取出差异数据的相关信息,并根据提取出的差异数据的相关信息对第一数据源及第二数据源中的数据进行数据比对。
根据本发明的另一方面,提供了一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如下操作:
从第一数据源获取第一数据,并判断第二数据源中是否存在与所述第一数据一致的第二数据;若否,则将所述第一数据确定为差异数据;
从第二数据源获取第二数据,并判断第一数据源中是否存在与所述第二数据一致的第一数据;若否,则将所述第二数据确定为差异数据;
将所述差异数据的相关信息存储至延迟比对队列;
当差异数据的相关信息在所述延迟比对队列的存储时长达到预设时长时,从所述延迟比对队列中提取出差异数据的相关信息,并根据提取出的差异数据的相关信息对第一数据源及第二数据源中的数据进行数据比对。
根据本发明的再一方面,提供了一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如上述数据比对方法对应的操作。
根据本发明公开的数据比对方法、计算设备及计算机存储介质,从第一数据源获取第一数据,判断第二数据源中是否存在与该第一数据一致的第二数据;若否则将该第一数据确定为差异数据;从第二数据源获取第二数据,并判断第一数据源中是否存在与该第二数据一致的第一数据;若否则将该第二数据确定为差异数据;将差异数据的相关信息存储至延迟比对队列;当差异数据的相关信息在延迟比对队列的存储时长达到预设时长时,从延迟比对队列中提取出差异数据的相关信息,并根据提取出的差异数据的相关信息对第一数据源及第二数据源中的数据进行数据比对。采用本方案,能够节约存储资源,降低异常数据的误判率,提升数据比对精度。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明实施例一提供的一种数据比对方法的流程示意图;
图2示出了应用于本发明实施例一中的一种差异数据获取方法的流程示意图;
图3示出了应用于本发明实施例一中的另一种差异数据获取方法的流程示意图;
图4示出了根据本发明实施例二提供的一种数据比对方法的流程示意图;
图5示出了根据本发明实施例四提供的一种计算设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
实施例一
图1示出了根据本发明实施例一提供的一种数据比对方法的流程示意图。
其中,本实施例所提供的数据比对方法可以适用于多种数据库,尤其适用于Redis等内存型数据库。
如图1所示,该方法包括:
步骤S110:从第一数据源获取第一数据,并判断第二数据源中是否存在与该第一数据一致的第二数据;若否,则将该第一数据确定为差异数据。
其中,第一数据源及第二数据源为待进行数据一致性检测的两个不同的数据源。在实际的应用场景中,第一数据源及第二数据源可分别为两个不同机房中的服务器或集群,例如第一数据源可以为主机房的从节点,第二数据源可以为热备机房的主节点等等;又或者,第一数据源及第二数据源可以为同一机房中的服务器或集群,例如第一数据源可以为主机房的主节点,而第二数据源可以为主机房的从节点等等。
在检测第一数据源与第二数据源的数据一致性过程中,可以从第一数据源获取待进行比对的第一数据,第一数据可以为一条也可以为多条。针对于任一第一数据,判断第二数据源中是否存在与该第一数据一致的第二数据;若否,则将该第一数据确定为差异数据。通过本步骤可从第一数据源中初步筛选出与第二数据源中的数据不一致的第一数据。并且本步骤在执行过程中,第二数据源中的第二数据并未被取出,从而无需开辟较大的存储空间来存放待比对的数据,继而节约存储资源。
一种可选的方式中,可采用如图2所示的方法从第一数据源中筛选出差异数据,如图2所示,该方法包括如下步骤S111-S115。
S111,从第一数据源获取第一数据的数据键。
在内存型数据库中,数据通常以键-值的方式进行存储,每个数据具有对应的数据键(Key)及数据详情。其中,数据详情包括以下信息中的至少一种:数据类型、数据长度以及数据值(Value)。由于数据键的数据量较小且内存型数据库中数据键扫描效率高,从而本步骤可快速地从第一数据源中获取第一数据的数据键。其中,可以逐一获取每个第一数据的数据键,也可批量获取多个第一数据的数据键。
S112,判断在第二数据源中是否能够查找到与该第一数据的数据键一致的数据键;若是,则执行步骤S113,若否,则执行步骤S115。
在获取第一数据的数据键后,针对于任一第一数据,在第二数据源中查找与该第一数据的数据键一致的数据键,并根据查找结果执行后续步骤。
可选的,在实际的实施过程中,由于业务数据量较大,第二数据源可以为包含多个第二数据节点的集群,任一第二数据节点中均可存储第二数据。为了能够快速地从第二数据源中查找与该第一数据的数据键一致的数据键,第二数据源在存储第二数据时,可按照相应的规则(如第二运算规则)建立数据键与存储所在的第二数据节点的映射关系。从而本步骤在查找与该第一数据的数据键一致的数据键过程中可利用第二运算规则对第一数据的数据键进行运算,根据运算结果确定出与第一数据的数据键对应的目标第二数据节点,并在目标第二数据节点中查找与第一数据的数据键一致的数据键。
S113,分别从第一数据源及第二数据源中提取与该数据键对应的第一数据的数据详情及第二数据的数据详情,将第一数据的数据详情与第二数据的数据详情进行详情比对。
若能够在第二数据源中查找到与第一数据的数据键一致的数据键,则依据该数据键从第一数据源中获取该第一数据的数据详情,以及从第二数据源中获取与该数据键对应的第二数据的数据详情。将第一数据的数据详情与第二数据的数据详情进行详情比对。
可选的,数据详情包含多类详情信息,如数据类型、数据长度及数据值等。各类详情信息具有相对应的比对优先级,该比对优先级具体为数据类型>数据长度>数据值。则可以按照各类详情信息相对应的比对优先级,获取第一数据的数据详情与第二数据的数据详情,以及按照各类详情信息相对应的比对优先级,将第一数据的数据详情与第二数据的数据详情进行详情比对。例如,针对于具有同一数据键的第一数据A及第二数据B,先获取第一数据A的数据类型及第二数据B的数据类型,若两者数据类型不一致,则确定两者数据详情不一致;若两者数据类型一致,则继续获取第一数据A的数据长度及第二数据B的数据长度,若两者数据长度不一致,则确定两者数据详情不一致;若两者数据长度一致,则继续获取第一数据A的数据值及第二数据B的数据值,若两者数据长度不一致,则确定两者数据详情不一致,若两者数据长度一致,则确定两者数据详情一致,采用该种按照优先级由高至低的顺序逐级获取详情数据及比对详情数据的方式,可以降低整体的内存开销,并避免影响数据源正常的业务服务。
进一步可选的,在获取数据值过程中,由于不同的数据所对应的数据值的数据量存在较大差别。在获得数据值过程中,可先根据数据类型及数据长度确定数据值的获取方式。若根据数据类型及数据长度确定出数据值的数据量大于预设阈值,则采用分批次获取的方式获取该数据值,并在后续数据值比对过程中也采用分批次比对的方式进行比对;若根据数据类型及数据长度确定出数据值的数据量小于或等于预设阈值,则采用足量获取的方式获取该数据值。
S114,确定该第一数据的数据详情与该第二数据的数据详情的比对结果;若不一致则执行S115。
若该第一数据的各类数据详情均有该第二数据的各类数据详情相匹配,则确定第一数据的数据详情与该第二数据的数据详情相一致,若第一数据及第二数据中有任何一项数据详情不一致,则确定第一数据的数据详情与该第二数据的数据详情不一致。
S115,将该第一数据确定为差异数据。
在一种情况下,若无法在第二数据源中查找到与该第一数据的数据键一致的数据键,则将该第一数据确定为差异数据。从而无需再获取第一数据及第二数据的数据详情进行比对,一方面能够快速地识别出差异数据,另一方面能够节约存储资源。
在另一种情况下,若能够在第二数据源中查找到与第一数据的数据键一致的数据键,但第一数据的数据详情与第二数据的数据详情不一致,则确定该第一数据为差异数据。
作为本步骤一种可选的方式,为提升整体的数据比对效率,可以由不同的工作线程来分别执行获取第一数据的数据键,获取第一数据及第二数据的详情数据,以及数据键间的比对及详情数据的比对。
步骤S120:从第二数据源获取第二数据,并判断第一数据源中是否存在与该第二数据一致的第一数据;若否,则将该第二数据确定为差异数据。
其中,本步骤的执行过程可参照步骤S110中相应部分的描述。可选的,可采用图3所示方法从第二数据源中筛选出差异数据。具体地,如图3所示,该方法包括如下步骤S121-S125。
S121,从第二数据源获取第二数据的数据键。
S122,判断在第一数据源中是否能够查找到与该第二数据的数据键一致的数据键;若是,则执行步骤S123,若否,则执行步骤S125。
可选的,若第一数据源为包含多个第一数据节点的集群,则利用第一运算规则对第二数据的数据键进行运算,根据运算结果确定出与第二数据的数据键对应的目标第一数据节点,并在目标第一数据节点中查找与第二数据的数据键一致的数据键。
S123,分别从第一数据源及第二数据源中提取与该数据键对应的第一数据的数据详情及第二数据的数据详情,将第一数据的数据详情与第二数据的数据详情进行详情比对。
若能够在第一数据源中查找到与该第二数据的数据键一致的数据键,则依据该数据键从第二数据源中获取第二数据的数据详情,以及从第一数据源中获取与数据键对应的第一数据的数据详情,将第一数据的数据详情与第二数据的数据详情进行详情比对。
S124,确定该第一数据的数据详情与该第二数据的数据详情的比对结果;若不一致则执行S125。
S125,将该第二数据确定为差异数据。
在一种情况下,若无法在第一数据源中查找到与该第二数据的数据键一致的数据键,则将该第二数据确定为差异数据。
在另一种情况下,若能够在第一数据源中查找到与该第二数据的数据键一致的数据键,但第一数据的数据详情与第二数据的数据详情不一致,则确定该第二数据为差异数据。
此外,步骤S110与步骤S120可以并发执行,也可以按照相应的先后次序顺次执行。
步骤S130:将差异数据的相关信息存储至延迟比对队列。
在识别出差异数据之后,本实施例并非直接将差异数据确定为异常数据,而是将识别出的差异数据的相关信息存储至延迟比对队列中,以供后续对差异数据进行再次比对。
可选的,差异数据的相关信息包括数据键,即本实施例并非在延迟比对队列中存储差异数据的数据详情,而是存储差异数据的数据键,依据该数据键不仅可以完成后续的数据比对,而且数据键的数据量小便于存储及提取,从而可以节约存储资源,并能够提高数据比对的整体效率。
进一步可选的,差异数据的相关信息还包括差异类别,该差异类别能够标识出该差异数据放入延迟比对队列前的一次比对过程中,第一数据源与第二数据源中该差异数据的哪项信息不同。该差异类别包括以下类别中的至少一种:数据键差异、数据类型差异、数据长度差异以及数据值差异。例如,针对于步骤S110,若无法在第二数据源中查找到与该第一数据的数据键一致的数据键,则确定该第一数据为差异数据,并且该差异数据的差异类型为数据键差异;或者针对于步骤S120中,若无法在第一数据源中查找到与该第二数据的数据键一致的数据键,则确定该第二数据为差异数据,并且该差异数据的差异类型为数据键差异;若能够找到对应于同一数据键的第一数据及第二数据,在第一数据及第二数据的数据类型不一致时,则确定差异数据的差异类型为数据类型差异;若第一数据及第二数据的数据长度不一致时,则确定差异数据的差异类型为数据长度差异;若第一数据及第二数据的数据值不一致时,则确定差异数据的差异类型为数据值差异。
步骤S140:当差异数据的相关信息在延迟比对队列的存储时长达到预设时长时,从延迟比对队列中提取出差异数据的相关信息,并根据提取出的差异数据的相关信息对第一数据源及第二数据源中的数据进行数据比对。
差异数据的相关信息在延迟比对队列中存储预设时长后被再次取出,根据从延迟比对队列中提取出的差异数据的相关信息,可对第一数据源及第二数据源中的数据进行再次比对,以确定该差异数据是否为真正的异常数据。
可选的,在本步骤的数据比对过程中,针对于任一差异数据,若第一数据源及第二数据源中仅有一个数据源存在该差异数据的数据键,则确定差异数据对应的比对结果为失败;若第一数据源及第二数据源中均存在该差异数据的数据键,从第一数据源中获取与差异数据的数据键对应的第一数据的数据详情,以及从第二数据源中获取与差异数据的数据键对应的第二数据的数据详情,将该第一数据的数据详情与该第二数据的数据详情进行详情比对,若第一数据的数据详情与第二数据的数据详情不一致,则确定差异数据对应的比对结果为失败。若第一数据源及第二数据源中均存在该差异数据的数据键,且该数据键对应的第一数据及第二数据的数据详情一致,则确定差异数据对应的比对结果为成功,或者,若第一数据源及第二数据源中均不存在该差异数据的数据键,则确定差异数据对应的比对结果为成功。其中,数据详情的比对过程可参照步骤S110中相应部分的描述,本步骤在此不做赘述。
进一步可选的,若差异数据的相关信息还包括差异类别,则可根据差异数据的差异类别,确定差异数据对应的数据比对的起点。例如,若差异数据的差异类别为数据长度差异,则将数据长度作为差异数据对应的数据比对的起点,即在获取与差异数据的数据键对应的第一数据及第二数据后,先获取第一数据及第二数据的数据长度进行比对。
由此可见,本实施例从第一数据源获取第一数据,并判断第二数据源中是否存在与该第一数据一致的第二数据,并从第二数据源获取第二数据,并判断第一数据源中是否存在与该第二数据一致的第一数据,采用该种双向比对的方式能够完整地提取出第一数据及第二数据中的差异数据;并且本实施例在数据比对过程中,无需将所有的待比对数据从数据源中取出,从而无需开辟较大的存储空间来存放待比对的数据,继而节约存储资源;再者,本实施例将识别出的差异数据的相关信息存储至延迟比对队列中,待延迟预设时长后依据差异数据的相关信息对第一数据源及第二数据源中的数据进行再次数据比对,从而降低异常数据的误判率,提升数据比对精度。
实施例二
图4示出了根据本发明实施例二提供的一种数据比对方法的流程示意图。其中,本实施例所提供的数据比对方法是针对实施例一中数据比对方法的进一步优化。
如图4所示,该方法包括:
步骤S410:从第一数据源获取第一数据,并判断第二数据源中是否存在与该第一数据一致的第二数据;若否,则将该第一数据确定为差异数据。
步骤S420:从第二数据源获取第二数据,并判断第一数据源中是否存在与该第二数据一致的第一数据;若否,则将该第二数据确定为差异数据。
其中,步骤S410及S420的具体实施过程可参照实施例一中相应部分的描述,本实施例在此不做赘述。
步骤S430:将差异数据的相关信息存储至延迟比对队列。
若识别出的差异数据为多个,则按照差异数据被识别出的先后次序依次将多个差异数据的相关信息存储至延迟比对队列中。
可选的,为便于对差异数据的管理,可将从第一数据源中识别出的差异数据的相关信息存储至第一延迟比对队列,将从第二数据源中识别出的差异数据的相关信息存储至第二延迟比对队列。由此,当某数据发生故障不再需要数据比对时,可直接删除对应的延迟比对队列。
步骤S440:当差异数据的相关信息在延迟比对队列的存储时长达到预设时长时,从延迟比对队列中提取差异数据的相关信息,并根据提取出的差异数据的相关信息对第一数据源及第二数据源中的数据进行数据比对。
在实际的实施过程中,可由相应的工作线程对延迟比对队列中的数据进行消费。该工作线程在确定位于延迟比对队列队首的差异数据的相关信息的单次存储时长达到预设时长时,将该队首的差异数据的相关信息从延迟比对队列中取出,继而根据提取出的差异数据的相关信息对第一数据源及第二数据源中的数据进行数据比对。其中,差异数据的相关信息的单次存储时长具体是指该差异数据的相关信息最近一次加入至延迟比对队列的时间T1与当前时间T2之间的时长。
一种可选的方式中,预设时长可以为固定值,如可以为1分钟等。又一种可选的方式中,预设时长可根据差异数据的相关信息在延迟比对队列中的存储次数确定。具体地,同一差异数据的相关信息,其在延迟比对队列中的存储次数不同,则对应的预设时长不同。例如,差异数据的相关信息在延迟比对队列中的存储次数为1次时,其对应的预设时长为1分钟;当差异数据的相关信息在延迟比对队列中的存储次数为2次时,其对应的预设时长为3分钟等等。从而在实际的实施过程中,在从延迟比对队列中提取差异数据的相关信息之前,先根据差异数据的相关信息在延迟比对队列中的存储次数确定预设时长。
步骤S450:确定差异数据对应的数据比对结果;若数据比对结果为失败,则执行步骤S460。
若确定差异数据对应的数据比对结果为失败,则需通过后续步骤S460等进一步确定该差异数据是否为真正的异常数据;若确定差异数据对应的数据比对结果为成功,则表明该差异数据不是真正的异常数据,从而不再将该差异数据的相关信息存储至延迟比对队列中。
步骤S460:判断差异数据的相关信息在延迟比对队列中的存储次数是否小于预设次数阈值;若是,则执行步骤S470;若否,则执行步骤S480。
若差异数据对应的数据比对结果为失败,则表明该差异数据仍为疑似异常数据,为进一步确定该差异数据是否为真正的异常数据,可继续将该差异数据的相关信息重新存储至延迟比对队列中。
其中,为避免真正的异常数据被反复对比,本实施例在确定差异数据对应的再次数据比对结果为失败后,进一步判断差异数据的相关信息在延迟比对队列中的存储次数是否小于预设次数阈值。若差异数据的相关信息在延迟比对队列中的存储次数小于预设次数阈值,则表明该差异数据仍为疑似异常数据,则进一步执行步骤S470以将该差异数据的相关信息重新存储至延迟比对队列中;若差异数据的相关信息在延迟比对队列中的存储次数大于或等于预设次数阈值,表明该差异数据为异常数据,则进一步至步骤S480以将该差异数据的相关信息记录于异常数据列表中。
步骤S470:将提取出的差异数据的相关信息重新存储至延迟比对队列中。
若差异数据对应的再次数据比对结果为失败,且差异数据的相关信息在延迟比对队列中的存储次数小于预设次数阈值,则仍无法确定该差异数据是否为真正的异常数据,从而可将提取出的差异数据的相关信息重新存储至延迟比对队列中,并进一步执行步骤S440及后续步骤。
步骤S480:将差异数据的相关信息记录于异常数据列表中。
若差异数据对应的数据比对结果为失败,且差异数据的相关信息在延迟比对队列中的存储次数大于或等于预设次数阈值,则确定该差异数据为异常数据,继而将该差异数据的相关信息记录于异常数据列表中。
由此可见,本实施例在差异数据对应的数据比对结果为失败的情况下,进一步判断差异数据的相关信息在延迟比对队列中的存储次数,在存储次数较小的情况下,继续将该差异数据的相关信息重新放回延迟比对队列中;在差异数据对应的再次数据比对结果为失败,且差异数据的相关信息在延迟比对队列中的存储次数较大时,确定该差异数据为异常数据。采用该种方式,一方面能够准确地识别出真正的异常数据,另一方面避免真正的异常数据被多次反复对比,从而节约系统资源。
实施例三
根据本发明实施例三提供了一种非易失性计算机存储介质,所述计算机存储介质存储有至少一可执行指令。
所述可执行指令具体可以用于使得处理器执行以下操作:从第一数据源获取第一数据,并判断第二数据源中是否存在与所述第一数据一致的第二数据;若否,则将所述第一数据确定为差异数据;从第二数据源获取第二数据,并判断第一数据源中是否存在与所述第二数据一致的第一数据;若否,则将所述第二数据确定为差异数据;将所述差异数据的相关信息存储至延迟比对队列;当差异数据的相关信息在所述延迟比对队列的存储时长达到预设时长时,从所述延迟比对队列中提取出差异数据的相关信息,并根据提取出的差异数据的相关信息对第一数据源及第二数据源中的数据进行数据比对。
在一种可选的实施方式中,所述可执行指令使所述处理器执行如下操作:从第一数据源获取第一数据的数据键,并在第二数据源中查找与所述第一数据的数据键一致的数据键;若无法在第二数据源中查找到与所述第一数据的数据键一致的数据键,则将所述第一数据确定为差异数据;若能够在第二数据源中查找到与所述第一数据的数据键一致的数据键,则依据所述数据键从第一数据源中获取所述第一数据的数据详情,以及从第二数据源中获取与所述数据键对应的第二数据的数据详情,将所述第一数据的数据详情与所述第二数据的数据详情进行详情比对,若所述第一数据的数据详情与所述第二数据的数据详情不一致,则确定所述第一数据为差异数据。
在一种可选的实施方式中,所述可执行指令使所述处理器执行如下操作:从第二数据源获取第二数据的数据键,并在第一数据源中查找与所述第二数据的数据键一致的数据键;若无法在第一数据源中查找到与所述第二数据的数据键一致的数据键,则将所述第二数据确定为差异数据;若能够在第一数据源中查找到与所述第二数据的数据键一致的数据键,则依据所述数据键从第二数据源中获取所述第二数据的数据详情,以及从第一数据源中获取与所述数据键对应的第一数据的数据详情,将所述第一数据的数据详情与所述第二数据的数据详情进行详情比对,若所述第一数据的数据详情与所述第二数据的数据详情不一致,则确定所述第二数据为差异数据。
在一种可选的实施方式中,所述可执行指令使所述处理器执行如下操作:所述第二数据源为包含多个第二数据节点的集群;利用第二运算规则对所述第一数据的数据键进行运算,根据运算结果确定出与所述第一数据的数据键对应的目标第二数据节点,并在所述目标第二数据节点中查找与所述第一数据的数据键一致的数据键。
在一种可选的实施方式中,所述可执行指令使所述处理器执行如下操作:所述第一数据源为包含多个第一数据节点的集群;利用第一运算规则对所述第二数据的数据键进行运算,根据运算结果确定出与所述第二数据的数据键对应的目标第一数据节点,并在所述目标第一数据节点中查找与所述第二数据的数据键一致的数据键。
在一种可选的实施方式中,所述可执行指令使所述处理器执行如下操作:所述数据详情包含多类详情信息,各类详情信息具有相对应的比对优先级;按照各类详情信息相对应的比对优先级,将所述第一数据的数据详情与所述第二数据的数据详情进行详情比对。
在一种可选的实施方式中,所述可执行指令使所述处理器执行如下操作:在所述根据提取出的差异数据的相关信息对第一数据源及第二数据源中的数据进行数据比对之后,若所述差异数据对应的数据比对结果为失败,则将提取出的差异数据的相关信息重新存储至所述延迟比对队列中。
在一种可选的实施方式中,所述可执行指令使所述处理器执行如下操作:若所述差异数据对应的数据比对结果为失败,则判断所述差异数据的相关信息在延迟比对队列中的存储次数是否小于预设次数阈值;若所述存储次数小于预设次数阈值,则将所述差异数据的相关信息重新存储至延迟比对队列中。
在一种可选的实施方式中,所述可执行指令使所述处理器执行如下操作:在所述判断所述差异数据的相关信息在延迟比对队列中的存储次数是否小于预设次数阈值之后,若所述存储次数大于或等于预设次数阈值,则将所述差异数据的相关信息记录于异常数据列表中。
在一种可选的实施方式中,所述可执行指令使所述处理器执行如下操作:在所述当差异数据的相关信息在所述延迟比对队列的存储时长达到预设时长时,从所述延迟比对队列中提取出差异数据的相关信息之前,根据所述差异数据的相关信息在所述延迟比对队列中的存储次数确定所述预设时长。
在一种可选的实施方式中,所述可执行指令使所述处理器执行如下操作:所述相关信息包括数据键;若第一数据源及第二数据源中仅有一个数据源存在所述差异数据的数据键,则确定所述差异数据对应的比对结果为失败;若第一数据源及第二数据源中均存在所述差异数据的数据键,从第一数据源中获取与所述差异数据的数据键对应的第一数据的数据详情,以及从第二数据源中获取与所述差异数据的数据键对应的第二数据的数据详情,将所述第一数据的数据详情与所述第二数据的数据详情进行详情比对,若所述第一数据的数据详情与所述第二数据的数据详情不一致,则确定所述差异数据对应的比对结果为失败。
在一种可选的实施方式中,所述可执行指令使所述处理器执行如下操作:所述相关信息还包括差异类别;所述差异类别包括以下类别中的至少一种:数据键差异、数据类型差异、数据长度差异以及数据值差异;根据差异数据的差异类别,确定差异数据对应的数据比对的起点。
由此可见,本实施例分别从第一数据源及第二数据源中获取第一比对数据集合及第二比对数据集合,并进一步识别出第一比对数据集合和第二比对集合的差异数据,并将识别出的差异数据的相关信息存储至延迟比对队列中,待延迟预设时长后依据差异数据的相关信息对第一数据源及第二数据源中的数据进行再次数据比对,从而降低异常数据的误判率,提升数据比对精度。
图5示出了根据本发明实施例五提供的一种计算设备的结构示意图,本发明具体实施例并不对计算设备的具体实现做限定。
如图5所示,该计算设备可以包括:处理器(processor)502、通信接口(Communications Interface)504、存储器(memory)506、以及通信总线508。其中:处理器502、通信接口504、以及存储器506通过通信总线508完成相互间的通信。通信接口504,用于与其它设备比如客户端或其它服务器等的网元通信。处理器502,用于执行程序510,具体可以执行上述方法实施例中的相关步骤。具体地,程序510可以包括程序代码,该程序代码包括计算机操作指令。处理器502可能是中央处理器CPU,或者是特定集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。计算设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。存储器506,用于存放程序510。存储器506可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序510具体可以用于使得处理器502执行以下操作:从第一数据源获取第一数据,并判断第二数据源中是否存在与所述第一数据一致的第二数据;若否,则将所述第一数据确定为差异数据;从第二数据源获取第二数据,并判断第一数据源中是否存在与所述第二数据一致的第一数据;若否,则将所述第二数据确定为差异数据;将所述差异数据的相关信息存储至延迟比对队列;当差异数据的相关信息在所述延迟比对队列的存储时长达到预设时长时,从所述延迟比对队列中提取出差异数据的相关信息,并根据提取出的差异数据的相关信息对第一数据源及第二数据源中的数据进行数据比对。
在一种可选的实施方式中,程序510具体可以用于使得处理器502执行以下操作:从第一数据源获取第一数据的数据键,并在第二数据源中查找与所述第一数据的数据键一致的数据键;若无法在第二数据源中查找到与所述第一数据的数据键一致的数据键,则将所述第一数据确定为差异数据;若能够在第二数据源中查找到与所述第一数据的数据键一致的数据键,则依据所述数据键从第一数据源中获取所述第一数据的数据详情,以及从第二数据源中获取与所述数据键对应的第二数据的数据详情,将所述第一数据的数据详情与所述第二数据的数据详情进行详情比对,若所述第一数据的数据详情与所述第二数据的数据详情不一致,则确定所述第一数据为差异数据。
在一种可选的实施方式中,程序510具体可以用于使得处理器502执行以下操作:从第二数据源获取第二数据的数据键,并在第一数据源中查找与所述第二数据的数据键一致的数据键;若无法在第一数据源中查找到与所述第二数据的数据键一致的数据键,则将所述第二数据确定为差异数据;若能够在第一数据源中查找到与所述第二数据的数据键一致的数据键,则依据所述数据键从第二数据源中获取所述第二数据的数据详情,以及从第一数据源中获取与所述数据键对应的第一数据的数据详情,将所述第一数据的数据详情与所述第二数据的数据详情进行详情比对,若所述第一数据的数据详情与所述第二数据的数据详情不一致,则确定所述第二数据为差异数据。
在一种可选的实施方式中,程序510具体可以用于使得处理器502执行以下操作:所述第二数据源为包含多个第二数据节点的集群;利用第二运算规则对所述第一数据的数据键进行运算,根据运算结果确定出与所述第一数据的数据键对应的目标第二数据节点,并在所述目标第二数据节点中查找与所述第一数据的数据键一致的数据键。
在一种可选的实施方式中,程序510具体可以用于使得处理器502执行以下操作:所述第一数据源为包含多个第一数据节点的集群;利用第一运算规则对所述第二数据的数据键进行运算,根据运算结果确定出与所述第二数据的数据键对应的目标第一数据节点,并在所述目标第一数据节点中查找与所述第二数据的数据键一致的数据键。
在一种可选的实施方式中,程序510具体可以用于使得处理器502执行以下操作:所述数据详情包含多类详情信息,各类详情信息具有相对应的比对优先级;按照各类详情信息相对应的比对优先级,将所述第一数据的数据详情与所述第二数据的数据详情进行详情比对。
在一种可选的实施方式中,程序510具体可以用于使得处理器502执行以下操作:在所述根据提取出的差异数据的相关信息对第一数据源及第二数据源中的数据进行数据比对之后,若所述差异数据对应的数据比对结果为失败,则将提取出的差异数据的相关信息重新存储至所述延迟比对队列中。
在一种可选的实施方式中,程序510具体可以用于使得处理器502执行以下操作:若所述差异数据对应的数据比对结果为失败,则判断所述差异数据的相关信息在延迟比对队列中的存储次数是否小于预设次数阈值;若所述存储次数小于预设次数阈值,则将所述差异数据的相关信息重新存储至延迟比对队列中。
在一种可选的实施方式中,程序510具体可以用于使得处理器502执行以下操作:在所述判断所述差异数据的相关信息在延迟比对队列中的存储次数是否小于预设次数阈值之后,若所述存储次数大于或等于预设次数阈值,则将所述差异数据的相关信息记录于异常数据列表中。
在一种可选的实施方式中,程序510具体可以用于使得处理器502执行以下操作:在所述当差异数据的相关信息在所述延迟比对队列的存储时长达到预设时长时,从所述延迟比对队列中提取出差异数据的相关信息之前,根据所述差异数据的相关信息在所述延迟比对队列中的存储次数确定所述预设时长。
在一种可选的实施方式中,程序510具体可以用于使得处理器502执行以下操作:所述相关信息包括数据键;若第一数据源及第二数据源中仅有一个数据源存在所述差异数据的数据键,则确定所述差异数据对应的比对结果为失败;若第一数据源及第二数据源中均存在所述差异数据的数据键,从第一数据源中获取与所述差异数据的数据键对应的第一数据的数据详情,以及从第二数据源中获取与所述差异数据的数据键对应的第二数据的数据详情,将所述第一数据的数据详情与所述第二数据的数据详情进行详情比对,若所述第一数据的数据详情与所述第二数据的数据详情不一致,则确定所述差异数据对应的比对结果为失败。
在一种可选的实施方式中,程序510具体可以用于使得处理器502执行以下操作:所述相关信息还包括差异类别;所述差异类别包括以下类别中的至少一种:数据键差异、数据类型差异、数据长度差异以及数据值差异;根据差异数据的差异类别,确定差异数据对应的数据比对的起点。
由此可见,本实施例分别从第一数据源及第二数据源中获取第一比对数据集合及第二比对数据集合,并进一步识别出第一比对数据集合和第二比对集合的差异数据,并将识别出的差异数据的相关信息存储至延迟比对队列中,待延迟预设时长后依据差异数据的相关信息对第一数据源及第二数据源中的数据进行再次数据比对,从而降低异常数据的误判率,提升数据比对精度。
在此提供的算法或显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明实施例也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明实施例的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。上述实施例中的步骤,除有特殊说明外,不应理解为对执行顺序的限定。
本发明公开了:A1.一种数据比对方法,包括:
从第一数据源获取第一数据,并判断第二数据源中是否存在与所述第一数据一致的第二数据;若否,则将所述第一数据确定为差异数据;
从第二数据源获取第二数据,并判断第一数据源中是否存在与所述第二数据一致的第一数据;若否,则将所述第二数据确定为差异数据;
将所述差异数据的相关信息存储至延迟比对队列;
当差异数据的相关信息在所述延迟比对队列的存储时长达到预设时长时,从所述延迟比对队列中提取出差异数据的相关信息,并根据提取出的差异数据的相关信息对第一数据源及第二数据源中的数据进行数据比对。
A2.根据A1所述的方法,其中,所述从第一数据源获取第一数据,并判断第二数据源中是否存在与所述第一数据一致的第二数据;若否,则将所述第一数据确定为差异数据进一步包括:从第一数据源获取第一数据的数据键,并在第二数据源中查找与所述第一数据的数据键一致的数据键;若无法在第二数据源中查找到与所述第一数据的数据键一致的数据键,则将所述第一数据确定为差异数据;若能够在第二数据源中查找到与所述第一数据的数据键一致的数据键,则依据所述数据键从第一数据源中获取所述第一数据的数据详情,以及从第二数据源中获取与所述数据键对应的第二数据的数据详情,将所述第一数据的数据详情与所述第二数据的数据详情进行详情比对,若所述第一数据的数据详情与所述第二数据的数据详情不一致,则确定所述第一数据为差异数据。
A3.根据A1所述的方法,其中,所述从第二数据源获取第二数据,并判断第一数据源中是否存在与所述第二数据一致的第一数据;若否,则将所述第二数据确定为差异数据进一步包括:从第二数据源获取第二数据的数据键,并在第一数据源中查找与所述第二数据的数据键一致的数据键;若无法在第一数据源中查找到与所述第二数据的数据键一致的数据键,则将所述第二数据确定为差异数据;若能够在第一数据源中查找到与所述第二数据的数据键一致的数据键,则依据所述数据键从第二数据源中获取所述第二数据的数据详情,以及从第一数据源中获取与所述数据键对应的第一数据的数据详情,将所述第一数据的数据详情与所述第二数据的数据详情进行详情比对,若所述第一数据的数据详情与所述第二数据的数据详情不一致,则确定所述第二数据为差异数据。
A4.根据A2所述的方法,其中,所述第二数据源为包含多个第二数据节点的集群;则所述在第二数据源中查找与所述第一数据的数据键一致的数据键进一步包括:利用第二运算规则对所述第一数据的数据键进行运算,根据运算结果确定出与所述第一数据的数据键对应的目标第二数据节点,并在所述目标第二数据节点中查找与所述第一数据的数据键一致的数据键。
A5.根据A3所述的方法,其中,所述第一数据源为包含多个第一数据节点的集群;则所述在第一数据源中查找与所述第二数据的数据键一致的数据键进一步包括:利用第一运算规则对所述第二数据的数据键进行运算,根据运算结果确定出与所述第二数据的数据键对应的目标第一数据节点,并在所述目标第一数据节点中查找与所述第二数据的数据键一致的数据键。
A6.根据A2-A5中任一项所述的方法,其中,所述数据详情包含多类详情信息,各类详情信息具有相对应的比对优先级;
则所述将所述第一数据的数据详情与所述第二数据的数据详情进行详情比对进一步包括:按照各类详情信息相对应的比对优先级,将所述第一数据的数据详情与所述第二数据的数据详情进行详情比对。
A7.根据A1-A6中任一项所述的方法,其中,在所述根据提取出的差异数据的相关信息对第一数据源及第二数据源中的数据进行数据比对之后,所述方法还包括:若所述差异数据对应的数据比对结果为失败,则将提取出的差异数据的相关信息重新存储至所述延迟比对队列中。
A8.根据A7所述的方法,其中,所述若所述差异数据对应的数据比对结果为失败,则将提取出的差异数据的相关信息重新存储至所述延迟比对队列中进一步包括:若所述差异数据对应的数据比对结果为失败,则判断所述差异数据的相关信息在延迟比对队列中的存储次数是否小于预设次数阈值;若所述存储次数小于预设次数阈值,则将所述差异数据的相关信息重新存储至延迟比对队列中。
A9.根据A8所述的方法,其中,在所述判断所述差异数据的相关信息在延迟比对队列中的存储次数是否小于预设次数阈值之后,所述方法还包括:
若所述存储次数大于或等于预设次数阈值,则将所述差异数据的相关信息记录于异常数据列表中。
A10.根据A8或A9所述的方法,其中,在所述当差异数据的相关信息在所述延迟比对队列的存储时长达到预设时长时,从所述延迟比对队列中提取出差异数据的相关信息之前,所述方法还包括:
根据所述差异数据的相关信息在所述延迟比对队列中的存储次数确定所述预设时长。
A11.根据A7-A10中任一项所述的方法,其中,所述相关信息包括数据键;
所述根据提取出的差异数据的相关信息对第一数据源及第二数据源中的数据进行数据比对进一步包括:
若第一数据源及第二数据源中仅有一个数据源存在所述差异数据的数据键,则确定所述差异数据对应的比对结果为失败;
若第一数据源及第二数据源中均存在所述差异数据的数据键,从第一数据源中获取与所述差异数据的数据键对应的第一数据的数据详情,以及从第二数据源中获取与所述差异数据的数据键对应的第二数据的数据详情,将所述第一数据的数据详情与所述第二数据的数据详情进行详情比对,若所述第一数据的数据详情与所述第二数据的数据详情不一致,则确定所述差异数据对应的比对结果为失败。
A12.根据A11所述的方法,其中,所述相关信息还包括差异类别;所述差异类别包括以下类别中的至少一种:数据键差异、数据类型差异、数据长度差异以及数据值差异;
则所述根据提取出的差异数据的相关信息对第一数据源及第二数据源中的数据进行数据比对进一步包括:根据差异数据的差异类别,确定差异数据对应的数据比对的起点。
本发明还公开:B13.一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如下操作:
从第一数据源获取第一数据,并判断第二数据源中是否存在与所述第一数据一致的第二数据;若否,则将所述第一数据确定为差异数据;
从第二数据源获取第二数据,并判断第一数据源中是否存在与所述第二数据一致的第一数据;若否,则将所述第二数据确定为差异数据;
将所述差异数据的相关信息存储至延迟比对队列;
当差异数据的相关信息在所述延迟比对队列的存储时长达到预设时长时,从所述延迟比对队列中提取出差异数据的相关信息,并根据提取出的差异数据的相关信息对第一数据源及第二数据源中的数据进行数据比对。
B14.根据B13所述的计算设备,其中,所述可执行指令使所述处理器执行如下操作:
从第一数据源获取第一数据的数据键,并在第二数据源中查找与所述第一数据的数据键一致的数据键;
若无法在第二数据源中查找到与所述第一数据的数据键一致的数据键,则将所述第一数据确定为差异数据;
若能够在第二数据源中查找到与所述第一数据的数据键一致的数据键,则依据所述数据键从第一数据源中获取所述第一数据的数据详情,以及从第二数据源中获取与所述数据键对应的第二数据的数据详情,将所述第一数据的数据详情与所述第二数据的数据详情进行详情比对,若所述第一数据的数据详情与所述第二数据的数据详情不一致,则确定所述第一数据为差异数据。
B15.根据B13所述的计算设备,其中,所述可执行指令使所述处理器执行如下操作:
从第二数据源获取第二数据的数据键,并在第一数据源中查找与所述第二数据的数据键一致的数据键;
若无法在第一数据源中查找到与所述第二数据的数据键一致的数据键,则将所述第二数据确定为差异数据;
若能够在第一数据源中查找到与所述第二数据的数据键一致的数据键,则依据所述数据键从第二数据源中获取所述第二数据的数据详情,以及从第一数据源中获取与所述数据键对应的第一数据的数据详情,将所述第一数据的数据详情与所述第二数据的数据详情进行详情比对,若所述第一数据的数据详情与所述第二数据的数据详情不一致,则确定所述第二数据为差异数据。
B16.根据B14所述的计算设备,其中,所述可执行指令使所述处理器执行如下操作:
所述第二数据源为包含多个第二数据节点的集群;
利用第二运算规则对所述第一数据的数据键进行运算,根据运算结果确定出与所述第一数据的数据键对应的目标第二数据节点,并在所述目标第二数据节点中查找与所述第一数据的数据键一致的数据键。
B17.根据B15所述的计算设备,其中,所述可执行指令使所述处理器执行如下操作:
所述第一数据源为包含多个第一数据节点的集群;
利用第一运算规则对所述第二数据的数据键进行运算,根据运算结果确定出与所述第二数据的数据键对应的目标第一数据节点,并在所述目标第一数据节点中查找与所述第二数据的数据键一致的数据键。
B18.根据B14-B17中任一项所述的计算设备,其中,所述可执行指令使所述处理器执行如下操作:
所述数据详情包含多类详情信息,各类详情信息具有相对应的比对优先级;
按照各类详情信息相对应的比对优先级,将所述第一数据的数据详情与所述第二数据的数据详情进行详情比对。
B19.根据B13-B18中任一项所述的计算设备,其中,所述可执行指令使所述处理器执行如下操作:
在所述根据提取出的差异数据的相关信息对第一数据源及第二数据源中的数据进行数据比对之后,若所述差异数据对应的数据比对结果为失败,则将提取出的差异数据的相关信息重新存储至所述延迟比对队列中。
B20.根据B19所述的计算设备,其中,所述可执行指令使所述处理器执行如下操作:
若所述差异数据对应的数据比对结果为失败,则判断所述差异数据的相关信息在延迟比对队列中的存储次数是否小于预设次数阈值;
若所述存储次数小于预设次数阈值,则将所述差异数据的相关信息重新存储至延迟比对队列中。
B21.根据B20所述的计算设备,其中,所述可执行指令使所述处理器执行如下操作:
在所述判断所述差异数据的相关信息在延迟比对队列中的存储次数是否小于预设次数阈值之后,若所述存储次数大于或等于预设次数阈值,则将所述差异数据的相关信息记录于异常数据列表中。
B22.根据B20或B21所述的计算设备,其中,所述可执行指令使所述处理器执行如下操作:
在所述当差异数据的相关信息在所述延迟比对队列的存储时长达到预设时长时,从所述延迟比对队列中提取出差异数据的相关信息之前,根据所述差异数据的相关信息在所述延迟比对队列中的存储次数确定所述预设时长。
B23.根据B19-B22中任一项所述的计算设备,其中,所述可执行指令使所述处理器执行如下操作:
所述相关信息包括数据键;
若第一数据源及第二数据源中仅有一个数据源存在所述差异数据的数据键,则确定所述差异数据对应的比对结果为失败;
若第一数据源及第二数据源中均存在所述差异数据的数据键,从第一数据源中获取与所述差异数据的数据键对应的第一数据的数据详情,以及从第二数据源中获取与所述差异数据的数据键对应的第二数据的数据详情,将所述第一数据的数据详情与所述第二数据的数据详情进行详情比对,若所述第一数据的数据详情与所述第二数据的数据详情不一致,则确定所述差异数据对应的比对结果为失败。
B24.根据B23所述的计算设备,其中,所述可执行指令使所述处理器执行如下操作:
所述相关信息还包括差异类别;所述差异类别包括以下类别中的至少一种:数据键差异、数据类型差异、数据长度差异以及数据值差异;
根据差异数据的差异类别,确定差异数据对应的数据比对的起点。
本发明还公开了:C25.一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如A1-A12中任一项所述的数据比对方法对应的操作。
Claims (10)
1.一种数据比对方法,包括:
从第一数据源获取第一数据,并判断第二数据源中是否存在与所述第一数据一致的第二数据;若否,则将所述第一数据确定为差异数据;
从第二数据源获取第二数据,并判断第一数据源中是否存在与所述第二数据一致的第一数据;若否,则将所述第二数据确定为差异数据;
将所述差异数据的相关信息存储至延迟比对队列;
当差异数据的相关信息在所述延迟比对队列的存储时长达到预设时长时,从所述延迟比对队列中提取出差异数据的相关信息,并根据提取出的差异数据的相关信息对第一数据源及第二数据源中的数据进行数据比对。
2.根据权利要求1所述的方法,其中,所述从第一数据源获取第一数据,并判断第二数据源中是否存在与所述第一数据一致的第二数据;若否,则将所述第一数据确定为差异数据进一步包括:
从第一数据源获取第一数据的数据键,并在第二数据源中查找与所述第一数据的数据键一致的数据键;
若无法在第二数据源中查找到与所述第一数据的数据键一致的数据键,则将所述第一数据确定为差异数据;
若能够在第二数据源中查找到与所述第一数据的数据键一致的数据键,则依据所述数据键从第一数据源中获取所述第一数据的数据详情,以及从第二数据源中获取与所述数据键对应的第二数据的数据详情,将所述第一数据的数据详情与所述第二数据的数据详情进行详情比对,若所述第一数据的数据详情与所述第二数据的数据详情不一致,则确定所述第一数据为差异数据。
3.根据权利要求1所述的方法,其中,所述从第二数据源获取第二数据,并判断第一数据源中是否存在与所述第二数据一致的第一数据;若否,则将所述第二数据确定为差异数据进一步包括:
从第二数据源获取第二数据的数据键,并在第一数据源中查找与所述第二数据的数据键一致的数据键;
若无法在第一数据源中查找到与所述第二数据的数据键一致的数据键,则将所述第二数据确定为差异数据;
若能够在第一数据源中查找到与所述第二数据的数据键一致的数据键,则依据所述数据键从第二数据源中获取所述第二数据的数据详情,以及从第一数据源中获取与所述数据键对应的第一数据的数据详情,将所述第一数据的数据详情与所述第二数据的数据详情进行详情比对,若所述第一数据的数据详情与所述第二数据的数据详情不一致,则确定所述第二数据为差异数据。
4.根据权利要求2所述的方法,其中,所述第二数据源为包含多个第二数据节点的集群;
则所述在第二数据源中查找与所述第一数据的数据键一致的数据键进一步包括:
利用第二运算规则对所述第一数据的数据键进行运算,根据运算结果确定出与所述第一数据的数据键对应的目标第二数据节点,并在所述目标第二数据节点中查找与所述第一数据的数据键一致的数据键。
5.根据权利要求3所述的方法,其中,所述第一数据源为包含多个第一数据节点的集群;
则所述在第一数据源中查找与所述第二数据的数据键一致的数据键进一步包括:
利用第一运算规则对所述第二数据的数据键进行运算,根据运算结果确定出与所述第二数据的数据键对应的目标第一数据节点,并在所述目标第一数据节点中查找与所述第二数据的数据键一致的数据键。
6.根据权利要求2-5中任一项所述的方法,其中,所述数据详情包含多类详情信息,各类详情信息具有相对应的比对优先级;
则所述将所述第一数据的数据详情与所述第二数据的数据详情进行详情比对进一步包括:按照各类详情信息相对应的比对优先级,将所述第一数据的数据详情与所述第二数据的数据详情进行详情比对。
7.根据权利要求1-6中任一项所述的方法,其中,在所述根据提取出的差异数据的相关信息对第一数据源及第二数据源中的数据进行数据比对之后,所述方法还包括:
若所述差异数据对应的数据比对结果为失败,则将提取出的差异数据的相关信息重新存储至所述延迟比对队列中。
8.根据权利要求7所述的方法,其中,所述若所述差异数据对应的数据比对结果为失败,则将提取出的差异数据的相关信息重新存储至所述延迟比对队列中进一步包括:
若所述差异数据对应的数据比对结果为失败,则判断所述差异数据的相关信息在延迟比对队列中的存储次数是否小于预设次数阈值;
若所述存储次数小于预设次数阈值,则将所述差异数据的相关信息重新存储至延迟比对队列中。
9.一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如下操作:
从第一数据源获取第一数据,并判断第二数据源中是否存在与所述第一数据一致的第二数据;若否,则将所述第一数据确定为差异数据;
从第二数据源获取第二数据,并判断第一数据源中是否存在与所述第二数据一致的第一数据;若否,则将所述第二数据确定为差异数据;
将所述差异数据的相关信息存储至延迟比对队列;
当差异数据的相关信息在所述延迟比对队列的存储时长达到预设时长时,从所述延迟比对队列中提取出差异数据的相关信息,并根据提取出的差异数据的相关信息对第一数据源及第二数据源中的数据进行数据比对。
10.一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如权利要求1-8中任一项所述的数据比对方法对应的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110326203.XA CN112905653A (zh) | 2021-03-26 | 2021-03-26 | 数据比对方法、计算设备及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110326203.XA CN112905653A (zh) | 2021-03-26 | 2021-03-26 | 数据比对方法、计算设备及计算机存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112905653A true CN112905653A (zh) | 2021-06-04 |
Family
ID=76108857
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110326203.XA Pending CN112905653A (zh) | 2021-03-26 | 2021-03-26 | 数据比对方法、计算设备及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112905653A (zh) |
-
2021
- 2021-03-26 CN CN202110326203.XA patent/CN112905653A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9723097B2 (en) | Assigning shared catalogs to cache structures in a cluster computing system | |
US20180181751A1 (en) | Anomaly Detection in Distributed Ledger Systems | |
CN105653630B (zh) | 分布式数据库的数据迁移方法与装置 | |
CN108255620B (zh) | 一种业务逻辑处理方法、装置、业务服务器及系统 | |
US8131872B2 (en) | Affinity-based transaction processing | |
CN105468718B (zh) | 数据一致性处理方法、装置和系统 | |
JP2016212547A (ja) | 情報提供プログラム、情報提供装置、及び情報提供方法 | |
CN110633977A (zh) | 支付异常处理方法、装置及终端设备 | |
CN110968478A (zh) | 日志采集方法、服务器及计算机存储介质 | |
US9870314B1 (en) | Update testing by build introspection | |
CN110489242B (zh) | 分布式数据计算方法、装置、终端设备及存储介质 | |
CN112015595A (zh) | 主从数据库的切换方法、计算设备及存储介质 | |
CN115185998A (zh) | 目标字段查找方法及装置、服务器、计算机可读存储介质 | |
CN111046007B (zh) | 管理存储系统的方法、装置和计算机程序产品 | |
CN117234859B (zh) | 一种性能事件监控方法、装置、设备和存储介质 | |
CN113918438A (zh) | 服务器异常的检测方法、装置、服务器及存储介质 | |
CN112559525B (zh) | 数据检查系统、方法、装置和服务器 | |
US20160357844A1 (en) | Database apparatus, search apparatus, method of constructing partial graph, and search method | |
CN110764705B (zh) | 一种数据的读写方法、装置、设备和存储介质 | |
CN116974874A (zh) | 数据库的测试方法、装置、电子设备及可读存储介质 | |
US20100146033A1 (en) | Selection of transaction managers based on runtime data | |
CN108062224B (zh) | 基于文件句柄的数据读写方法、装置及计算设备 | |
CN112905653A (zh) | 数据比对方法、计算设备及计算机存储介质 | |
CN112905602B (zh) | 数据比对方法、计算设备及计算机存储介质 | |
CN110955710B (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 |