CN110019271A - 数据一致性检测方法、装置、设备及计算机存储介质 - Google Patents
数据一致性检测方法、装置、设备及计算机存储介质 Download PDFInfo
- Publication number
- CN110019271A CN110019271A CN201711395044.9A CN201711395044A CN110019271A CN 110019271 A CN110019271 A CN 110019271A CN 201711395044 A CN201711395044 A CN 201711395044A CN 110019271 A CN110019271 A CN 110019271A
- Authority
- CN
- China
- Prior art keywords
- data
- group
- detection
- index
- tested
- 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
- 238000001514 detection method Methods 0.000 title claims abstract description 167
- 239000012634 fragment Substances 0.000 claims abstract description 71
- 230000006835 compression Effects 0.000 claims abstract description 60
- 238000007906 compression Methods 0.000 claims abstract description 60
- 238000012360 testing method Methods 0.000 claims abstract description 27
- 238000004590 computer program Methods 0.000 claims description 11
- 238000009825 accumulation Methods 0.000 claims description 8
- 230000030279 gene silencing Effects 0.000 claims description 7
- 230000010354 integration Effects 0.000 claims description 7
- 238000000034 method Methods 0.000 abstract description 36
- 230000008569 process Effects 0.000 abstract description 15
- 238000013467 fragmentation Methods 0.000 abstract description 14
- 238000006062 fragmentation reaction Methods 0.000 abstract description 14
- 238000012545 processing Methods 0.000 abstract description 13
- 230000007246 mechanism Effects 0.000 abstract description 5
- 230000001737 promoting effect Effects 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 19
- 230000001186 cumulative effect Effects 0.000 description 12
- 238000004891 communication Methods 0.000 description 6
- 238000007689 inspection Methods 0.000 description 6
- 230000003321 amplification Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000003199 nucleic acid amplification method Methods 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 235000013399 edible fruits Nutrition 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- -1 block Substances 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000004615 ingredient Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
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/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1744—Redundancy elimination performed by the file system using compression, e.g. sparse files
-
- 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/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据一致性检测方法、装置、设备及计算机存储介质。其中,该检测方法包括:接收待检测数据,将待检测数据分为多个数据组;为数据组分配索引;根据索引检索需要进行碎片压缩的数据组,对组内数据进行碎片压缩;根据动态生成的订阅列表将碎片压缩后的待检测数据转换为检测任务,并按照订阅关系将检测任务发布到相应的检测节点,进行一致性检测。根据本发明实施例,通过将数据分组并建立索引,避免了对每一条数据的检测处理,从而减少了需检测的数据量;通过对组内数据进行碎片压缩,解决了数据碎片化的问题;通过订阅/发布机制,实现了交易一致性检测的全流程记录和跟踪,同时提升检测***的可扩展性。
Description
技术领域
本发明属于数据处理***领域,尤其涉及一种数据一致性检测方法,数据一致性检测装置,计算机设备以及计算机存储介质。
背景技术
所有的交易都会产生数据。数据的作用首先是作为交易的核心组成,直接决定交易的成败好坏,其次是作为交易日志的一部分,用于交易质量的事后分析与检验。对于因同一个交易产生,特性类同但使用对象和传播路径不同的数据,我们通常称之为同源异径数据。
当数据作为交易日志一部分,用于交易质量的检验时,目的是及时发现数据异常,避免数据超过规则的限制。交易质量检验的核心是交易数据的一致性检测,现行通用检测方法有两种:其一是交易日志重处理,其二是交易日志对账。交易日志重做的方式为,交易完成后ETL模块(ETL指Extract抽取、Transform转换、Load装载)及时完成对日志数据的提取、解析和格式化,重处理模块以交易开始时刻的数据快照为基础,逐条对日志数据按照交易规则重新处理,最后比较重处理所生成的最终数据和交易结束时刻的实际数据快照,以判定数据的一致性,通常银行账户、话费余额等类型的数据一致性检测多采用这种方法。交易日志对账的方式为,交易完成后日志ETL模块同时对交易发起端和交易执行端的日志数据进行提取、解析和格式化,对账模块逐条比较这两份日志数据,根据比较结果判定数据一致性,通常电信运营商及网络游戏的充值卡、远程网络访问记录等类型的数据一致性检测多采用这种方法。
随着业务和技术的快速发展,高频率、高峰值等类型的交易越来越多,交易数据也变得更加碎片化,交易日志量增幅巨大。例如,电商领域的秒杀业务极短时间内会产生数百万级的日志,4G网络普及后人均数据流量计费话单的数量增幅超过30倍,实时计费消息的数量增幅更是超过100倍。
相关技术中的交易数据一致性检测方法,无论是交易日志重处理或者交易日志对账,基本原理都是逐条对交易日志数据按照业务规则和检测逻辑进行处理。此类方案面临的共同问题首先是无法有效应对数据的巨大增幅,往往只能通过对数据所产生的业务场景加以细分,以此来缩减单批次需处理的数据量,扩展性能较差;其次是面对高频交易导致数据碎片化的实际情况,没能有效做到数据的去碎片化,一致性检测所耗费的***资源与所需要处理的数据量不匹配。云计算等技术的应用虽然可以确保***资源的充足从而满足一致性检测对***资源的需求,但同时也会大大增加一致性检测的业务逻辑复杂度。
发明内容
本发明实施例提供一种数据一致性检测方法、装置、设备及计算机存储介质,通过将待检测数据分组并建立索引,分别对数据组进行一致性检测,避免了对每一条数据的检测处理,从而减少了需检测的数据量;通过对组内数据进行碎片压缩,解决了数据碎片化的问题;通过订阅/发布机制,实现了交易一致性检测的全流程记录和跟踪,同时提升检测***的可扩展性。
一方面,本发明实施例提供一种数据一致性检测方法,包括:接收待检测数据,将待检测数据分为多个数据组;为数据组分配索引;根据索引检索需要进行碎片压缩的数据组,对组内数据进行碎片压缩;根据动态生成的订阅列表将碎片压缩后的待检测数据转换为检测任务,并按照订阅关系将检测任务发布到相应的检测节点,进行一致性检测。
结合第一方面,在第一方面的第一种实施方式中,将待检测数据分为多个数据组,具体为:按照维度将待检测数据分为多个原始数据组;并按照数据进位规则将原始数据组拆分为整数数值组和非整数数值组。
结合第一方面,在第一方面的第二种实施方式中,索引包括索引公有段和索引私有段;其中索引公有段包括以下至少任一项或其组合:交易ID、时间段、业务类别;索引私有段包括以下至少任一项或其组合:数据源类别、时间戳、编号、组内记录数。
结合第一方面,在第一方面的第三种实施方式中,根据索引检索需要进行碎片压缩的数据组,对组内数据进行碎片压缩,具体为:根据索引公有段检索需要进行碎片压缩的数据组;对整数数值组内的数据进行累加;对非整数数值组内的数据进行累加,并按照数据进位规则将累加结果的整数数值部分累加到整数数值组。
结合第一方面,在第一方面的第四种实施方式中,该方法还包括:根据索引查询历史关联数据组,当查询到历史关联数据组时,按照索引依赖关系,将历史关联数据组中的数据分别累加到相应的整数数值组和非整数数值组,并再次进行碎片压缩。
结合第一方面,在第一方面的第五种实施方式中,该方法还包括:根据一致性检测的检测结果,更新订阅列表、订阅关系和检测任务的生命状态及生命周期。
结合第一方面,在第一方面的第六种实施方式中,检测结果包括以下至少任一项:一致但交易未完结、不一致且交易未完结、交易已完结、交易异常;生命状态包括至少任一项:沉默、等待、活跃、失效;生命周期为检测任务的存活时间。
另一方面,本发明实施例提供了一种数据一致性检测装置,包括:分组模块,用于接收待检测数据,将待检测数据分为多个数据组;索引模块,用于为数据组分配索引;碎片压缩模块,用于根据索引检索需要进行碎片压缩的数据组,对组内数据进行碎片压缩;一致性检测模块,用于完成整合后,根据订阅列表生成检测任务,并按照订阅关系将检测任务发布到相应的检测节点,进行一致性检测。
再一方面,本发明实施例提供了一种计算机设备,包括:处理器以及存储有计算机程序指令的存储器;处理器执行计算机程序指令时实现如第一方面实施例中任意一项的数据一致性检测方法。
再一方面,本发明实施例提供了一种计算机存储介质,计算机存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现如第一方面实施例中任意一项的数据一致性检测方法。
本发明实施例的数据一致性检测方法、装置、设备及计算机存储介质,通过将待检测数据分组并建立索引,分别对数据组进行一致性检测,避免了对每一条数据的检测处理,从而减少了需检测的数据量。在一些实施例中,通过对组内数据进行碎片压缩,解决了数据碎片化的问题。在一些实施例中,通过订阅/发布机制,实现了交易一致性检测的全流程记录和跟踪,同时提升检测***的可扩展性。在一些实施例中,索引由公有段和私有段组成,索引公有段负责数据组关联控制,索引私有段负责唯一标识数据组,避免将索引建立到单条数据,可以节约***资源,提升查询效率。采用业务数据进位原则将数据分段,并将各段数据分别累加合并,最终减少了末端环节需处理的数据量,解决了数据碎片化的问题,还能够精准的实现数据检测控制。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单的介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例提供的数据一致性检测方法的流程示意图;
图2是本发明另一个实施例提供的数据一致性检测方法的流程示意图;
图3是本发明再一个实施例提供的数据一致性检测方法的流程示意图;
图4是本发明再一个实施例提供的数据一致性检测方法的流程示意图;
图5是本发明再一个实施例提供的数据一致性检测方法的流程示意图;
图6是本发明一个实施例提供的数据一致性检测装置的示意框图;
图7是本发明另一个实施例提供的数据一致性检测装置的示意框图;
图8是本发明再一个实施例提供的数据一致性检测装置的示意图;
图9是本发明一个实施例提供的计算机设备的结构示意图。
具体实施方式
下面将详细描述本发明的各个方面的特征和示例性实施例,为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本发明进行进一步详细描述。应理解,此处所描述的具体实施例仅被配置为解释本发明,并不被配置为限定本发明。对于本领域技术人员来说,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明更好的理解。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
为了解决现有技术问题,本发明实施例提供了一种数据一致性检测方法、装置、设备及计算机存储介质。下面首先对本发明实施例所提供的数据一致性检测方法进行介绍。
图1示出了本发明一个实施例提供的数据一致性检测方法的流程示意图。如图1所示,该数据一致性检测方法包括:
步骤102,接收待检测数据,将待检测数据分为多个数据组;
步骤104,为数据组分配索引;
步骤106,根据索引检索需要进行碎片压缩的数据组,对组内数据进行碎片压缩;
步骤108,根据动态生成的订阅列表将碎片压缩后的待检测数据转换为检测任务,并按照订阅关系将检测任务发布到相应的检测节点,进行一致性检测。
本发明实施例的数据一致性检测方法,通过将待检测数据分组并建立索引,分别对数据组进行一致性检测,避免了对每一条数据的检测处理,从而减少了需检测的数据量;通过对组内数据进行碎片压缩,解决了数据碎片化的问题;通过订阅/发布机制,实现了交易一致性检测的全流程记录和跟踪,同时提升检测***的可扩展性。
图2示出了本发明另一个实施例提供的数据一致性检测方法的流程示意图。如图2所示,该数据一致性检测方法包括:
步骤202,接收待检测数据,按照维度将待检测数据分为多个原始数据组,并按照数据进位规则将原始数据组拆分为整数数值组和非整数数值组;
步骤204,为数据组分配索引;
步骤206,根据索引检索需要进行碎片压缩的数据组,对组内数据进行碎片压缩;
步骤208,根据动态生成的订阅列表将碎片压缩后的待检测数据转换为检测任务,并按照订阅关系将检测任务发布到相应的检测节点,进行一致性检测。
在该实施例中,对接收到的待检测数据按照交易ID、时间段、业务类别、数据源类别等维度进行分组,然后按照业务数据进位规则将原始数据组拆分为整数数值组和非整数数值组,通过将组内各段数据分别累加合并,最终减少了末端环节需处理的数据量,解决了数据碎片化的问题,还能够精准的实现数据检测控制。
在本发明的一个实施例中,优选地,索引包括索引公有段和索引私有段;其中索引公有段包括以下至少任一项或其组合:交易ID、时间段、业务类别;索引私有段包括以下至少任一项或其组合:数据源类别、时间戳、编号、组内记录数。
在该实施例中,采用为数据建立数据组,对每组数据均分配一个由公有段和私有段组成的唯一索引ID。其中,公有段索引由交易ID、时间段、业务类别等信息中任一项或其组合组成,用于实现数据组之间的关联控制,私有段由数据源类别、时间戳、编号、组内记录数等信息中任一项或其组合组成,用于标识每个数据组的唯一性,避免将索引建立到单条数据,可以节约***资源,提升查询效率。
图3示出了本发明再一个实施例提供的数据一致性检测方法的流程示意图。如图3所示,该数据一致性检测方法包括:
步骤302,接收待检测数据,按照维度将待检测数据分为多个原始数据组,并按照数据进位规则将原始数据组拆分为整数数值组和非整数数值组;
步骤304,为数据组分配索引;
步骤306,根据索引公有段检索需要进行碎片压缩的数据组;
步骤308,对组内整数数值组内的数据进行累加;
步骤310,对组内非整数数值组内的数据进行累加,并按照数据进位规则将累加结果的整数数值部分累加到整数数值组,非整数数值部分继续保留;
步骤312,根据动态生成的订阅列表将碎片压缩后的待检测数据转换为检测任务,并按照订阅关系将检测任务发布到相应的检测节点,进行一致性检测。
在该实施例中,首先进行组内碎片压缩,即对组内整数数值组直接进行合并累加;对非整数数值组的合并累加结果需按照业务数据的进位规则做进一步处理,具体为,将累加结果的整数数值部分累加到其关联的整数数值组,而非整数数值部分继续保留。本发明的实施例,通过将组内各段数据分别累加合并,最终减少了末端环节需处理的数据量,解决了数据碎片化的问题,还能够精准的实现数据检测控制。
图4示出了本发明再一个实施例提供的数据一致性检测方法的流程示意图。如图4所示,该数据一致性检测方法包括:
步骤402,接收待检测数据,按照维度将待检测数据分为多个原始数据组,并按照数据进位规则将原始数据组拆分为整数数值组和非整数数值组;
步骤404,为数据组分配索引;
步骤406,根据索引公有段检索需要进行碎片压缩的数据组;
步骤408,对组整数数值组内的数据进行累加;
步骤410,对组内非整数数值组内的数据进行累加,并按照数据进位规则将累加结果的整数数值部分累加到整数数值组,非整数数值部分继续保留;
步骤412,根据索引查询历史关联数据组,当查询到历史关联数据组时,按照索引依赖关系,将历史关联数据组中的数据分别累加到相应的整数数值组和非整数数值组,进行组间数据的累加合并;
步骤414,根据动态生成的订阅列表将碎片压缩后的待检测数据转换为检测任务,并按照订阅关系将检测任务发布到相应的检测节点,进行一致性检测。
在该实施例中,通过索引(优选地通过索引段公有段)发起历史关联数据组的查询请求,当存在历史关联数据组时,需把历史数据分别累加到对应的整数数值组和非整数数值组,再次进行碎片压缩。通过组内和组间的累加合并,然后分别进行数据组的一致性检测,避免了对每一条数据的检测处理,从而减少了需检测的数据量,这种碎片数据的压缩合并方法需要保护。
图5示出了本发明再一个实施例提供的数据一致性检测方法的流程示意图。如图5所示,该数据一致性检测方法包括:
步骤502,接收待检测数据,按照维度将待检测数据分为多个原始数据组,并按照数据进位规则将原始数据组拆分为整数数值组和非整数数值组;
步骤504,为数据组分配索引;
步骤506,根据索引公有段检索需要进行碎片压缩的数据组,对整数数值组的数据进行累加;对非整数数值组的数据进行累加,并按照数据进位规则将累加结果的整数数值部分累加到整数数值组,非整数数值部分继续保留;
步骤508,根据索引查询历史关联数据组,当查询到历史关联数据组时,按照索引依赖关系,将历史关联数据组中的数据分别累加到相应的整数数值组和非整数数值组,进行组间数据的累加合并;
步骤510,根据动态生成的订阅列表将碎片压缩后的待检测数据转换为检测任务,并按照订阅关系将检测任务发布到相应的检测节点,进行一致性检测;
步骤512,根据一致性检测的检测结果,更新订阅列表、订阅关系和检测任务的生命状态及生命周期。
在该实施例中,根据一致性检测的检测结果,更新订阅列表和检测任务生命状态及生命周期,其中,检测结果包括一致但交易未完结、不一致且交易未完结、交易已完结、交易异常等四种,生命状态包括沉默、等待、活跃、失效等,生命周期是每个任务的存活时间,解决了长事务型交易的数据跟踪问题,实现了交易内的一致性检测闭环控制。
图6示出了本发明一个实施例提供的数据一致性检测装置的示意框图。如图6所示,该数据一致性检测装置600包括:
分组模块602,用于接收待检测数据,将待检测数据分为多个数据组;
索引模块604,用于为数据组分配索引;
碎片压缩模块606,用于根据索引检索需要进行碎片压缩的数据组,对组内数据进行碎片压缩;
一致性检测模块608,用于完成整合后,根据订阅列表生成检测任务,并按照订阅关系将检测任务发布到相应的检测节点,进行一致性检测。
本发明实施例的数据一致性检测装置,通过将待检测数据分组并建立索引,分别对数据组进行一致性检测,避免了对每一条数据的检测处理,从而减少了需检测的数据量;通过对组内数据进行碎片压缩,解决了数据碎片化的问题;通过订阅/发布机制,实现了交易一致性检测的全流程记录和跟踪,同时提升检测***的可扩展性。
在本发明的一个实施例中,优选地,分组模块602具体用于,接收待检测数据,按照维度将待检测数据分为多个原始数据组,并按照数据进位规则将原始数据组拆分为整数数值组和非整数数值组。
在该实施例中,对接收到的待检测数据按照交易ID、时间段、业务类别、数据源类别等维度进行分组,然后按照业务数据进位规则将原始数据组拆分为整数数值组和非整数数值组,通过将组内各段数据分别累加合并,最终减少了末端环节需处理的数据量,解决了数据碎片化的问题,还能够精准的实现数据检测控制。
在本发明的一个实施例中,优选地,索引包括索引公有段和索引私有段;其中索引公有段包括以下至少任一项或其组合:交易ID、时间段、业务类别;索引私有段包括以下至少任一项或其组合:数据源类别、时间戳、编号、组内记录数。
在该实施例中,采用为数据建立数据组,对每组数据均分配一个由公有段和私有段组成的唯一索引ID。其中,公有段索引由交易ID、时间段、业务类别等信息中任一项或其组合组成,用于实现数据组之间的关联控制,私有段由数据源类别、时间戳、编号、组内记录数等信息中任一项或其组合组成,用于标识每个数据组的唯一性,避免将索引建立到单条数据,可以节约***资源,提升查询效率。
在本发明的一个实施例中,优选地,碎片压缩模块606首先用于组内数据进行碎片压缩,具体为:根据索引公有段检索需要进行碎片压缩的数据组;对整数数值组内的数据进行累加;对非整数数值组内的数据进行累加,并按照数据进位规则将累加结果的整数数值部分累加到整数数值组。
在该实施例中,首先进行组内碎片压缩,即对组内整数数值组直接进行合并累加;对非整数数值组的合并累加结果需按照业务数据的进位规则做进一步处理,具体为,将累加结果的整数数值部分累加到其关联的整数数值组,而非整数数值部分继续保留。本发明的实施例,通过将组内各段数据分别累加合并,最终减少了末端环节需处理的数据量,解决了数据碎片化的问题,还能够精准的实现数据检测控制。
在本发明的一个实施例中,优选地,碎片压缩模块606还用于对组间数据进行碎片压缩,具体为:根据索引查询历史关联数据组,当查询到历史关联数据组时,按照索引依赖关系,将历史关联数据组中的数据分别累加到相应的整数数值组和非整数数值组,进行组间数据的累加合并。
在该实施例中,通过索引(优选地通过索引段公有段)发起历史关联数据组的查询请求,当存在历史关联数据组时,需把历史数据分别累加到对应的整数数值组和非整数数值组,再次进行碎片压缩。通过组内和组间的累加合并,然后分别进行数据组的一致性检测,避免了对每一条数据的检测处理,从而减少了需检测的数据量,这种碎片数据的压缩合并方法需要保护。
图7示出了本发明另一个实施例提供的数据一致性检测装置的示意框图。如图7所示,该数据一致性检测装置700包括:
分组模块702,用于接收待检测数据,将待检测数据分为多个数据组;
索引模块704,用于为数据组分配索引;
碎片压缩模块706,用于根据索引检索需要进行碎片压缩的数据组,对组内数据进行碎片压缩;还用于根据索引查询历史关联数据组,当查询到历史关联数据组时,按照索引依赖关系,将历史关联数据组中的数据分别累加到相应的整数数值组和非整数数值组,进行组间数据的累加合并;
一致性检测模块708,用于完成整合后,根据订阅列表生成检测任务,并按照订阅关系将检测任务发布到相应的检测节点,进行一致性检测;
订阅模块710,用于根据一致性检测的检测结果,更新订阅列表、订阅关系和检测任务的生命状态及生命周期。
在该实施例中,根据一致性检测的检测结果,更新订阅列表和检测任务生命状态及生命周期,其中,检测结果包括一致但交易未完结、不一致且交易未完结、交易已完结、交易异常等四种,生命状态包括沉默、等待、活跃、失效等,生命周期是每个任务的存活时间,解决了长事务型交易的数据跟踪问题,实现了交易内的一致性检测闭环控制。
图8示出了本发明再一个实施例提供的数据一致性检测装置的示意图。该装置由交易产生模块、交易执行模块、数据采集模块、数据解析模块、数据分组模块、索引控制模块、碎片压缩模块、发布控制模块、订阅控制模块、一致性检测模块等组成。
其中,交易产生模块是交易和交易数据的起点,发送交易原始数据给交易执行模块,接收其返回的交易结果,同时生成发起端的日志记录。
交易执行模块是交易和交易数据的终点,接收交易产生模块的数据,按业务逻辑处理后向其返回交易结果,同时生成执行端的日志记录。
数据采集模块负责收集交易起点和终点的日志数据,收集方法可以是主动抓取,也可以是被动接收。通常是实时收集,以此确保检测的时效性。
数据解析模块负责解对数据采集模块所上报的各类数据进行解析和预处理,采用ETL处理流程将其转换成符合检测标准的数据格式。
数据分组模块,负责按照分组规则,对数据解析模块输出的标准化数据进行划分和组合,生成一系列的数据组,常见的分组维度有交易ID、时间周期等等。
索引控制模块,负责校验数据分组模块输出的数据组,然后为每一个数据组别生成分配一个唯一的标识,标识通常包含会话ID、时间戳、序号、组内记录数等等。
碎片压缩模块,负责对索引控制模块已分配索引的数据组进行数据整合,包括组内数据的整合以及存在索引依赖关系的组间数据的整合。
发布控制模块,按照订阅控制模块所下发的订阅列表,将碎片压缩后的待检测数据转换为检测任务,按照订阅关系发布给对应的检测节点。
订阅控制模块,需要根据一致性检测模块提交的检测结果,更新订阅列表和检测任务生命状态及生命周期,生命状态包括沉默、等待、活跃、失效等,生命周期是每个任务的存活时间。
一致性检测模块,负责接收发布控制模块输出的检测任务,按照业务逻辑完成一致性检测,将检测结果上报给订阅模块,结果包括一致但交易未、不一致且交易未终结、交易完结终结、交易异常等四类。
一致性检测方法如下:
交易产生模块和交易执行模块通过对业务数据的实时交换处理实现交易的核心逻辑,同时产生交易日志、结果快照等用于检测的数据,主动推送给数据采集模块或等待数据采集模块收集数据;
数据采集模块获取待检测数据后,实时上报给数据解析模块,然后数据解析模块按照预置规则,将原始数据转换为标准化的待检测数据,通知数据分组模块;
数据分组模块收到通知后,首先按照预置分组规则(包括交易ID、所属时间段、业务类别等等),把标准化数据重新划分组合成一系列的原始数据组,然后将原始数据组按照业务数据的进位规则,进一步拆分为整数数值组和非整数数值组等两个数据组,最后通知索引控制模块;
索引控制模块对每一个数据组,计算并分配唯一的由公有段和私有段组成的索引ID,公有段索引由交易ID、时间段、业务类别组成,用于实现数据组之间的关联控制,私有段由数据源类别、时间戳、编号、组内记录数等信息组成,用于标识每个数据组的唯一性,然后通知碎片压缩模块;
碎片压缩模块通过索引公有段检索到需碎片压缩的数据组,首先进行组内碎片压缩,即对组内数据进行合并累加,对非整数数值组的合并累加结果需按照业务数据的进位规则,将累加结果的整数数值部分累加到其关联的整数数值组,而非整数数值部分继续保留,然后通过索引段公有段向发布控制模块发起历史关联数据组的查询请求,当存在历史关联数据组时,需把历史数据分别累加到对应的整数数值组和非整数数值组,再次进行碎片压缩,完成后通知发布控制模块;
发布控制模块收到碎片压缩模块的查询请求则返回关联数据组查询结果,收到碎片压缩模块的通知信息则生成检测任务,并通知给一致性检测模块,收到订阅控制模块的通知则做出相应的历史数据组控制操作;
一致性检测模块收到检测任务后,对数据组进行一致性的检测,将检测结果提交给订阅控制模块,结果分为一致但交易未完结、不一致且交易未完结、交易已完结、异常完结等四种;
订阅控制模块收到根据检测结果后,对一致但交易未完结的结果,设定关联数据组生命状态为沉默和最长沉默时间,对不一致且交易未完结的结果,设定关联数据组生命状态为活跃,对已完结的结果则设定关联数据组生命状态为失效并清理订阅关系,对异常完结的结果设定关联数据组生命状态为等待,设定最长等待时间。
下面以一致性检测可能遇到的典型场景为例,来说明本发明实施例的数据一致性检测具体流程。
具体实例一,第一组数据产生时的检测过程:
步骤1,数据采集、解析模块按照标准完成数据的ETL处理;
步骤2,数据分组模块对收到的数据按照交易ID、时间段、业务类别、数据源类别等维度进行分组,然后按照业务数据进位规则将原始数据组拆分为整数数值组和非整数数值组;
步骤3,索引控制模块对每组数据均分配一个由公有段和私有段组成的唯一索引ID;
步骤4,因为第一组数据不会从发布控制模块查询到历史关联数据组,所以只需要完成组内数据的碎片压缩和非整数数值组的进位压缩即可;
步骤5,发布控制模块收到通知信息后,按照订阅控制模块生成的订阅一致性检测订阅列表生成一致性检测任务,将任务发布到相应的一致性检测模块;
步骤6,一致性检测模块完成检测,将结果提交给订阅控制模块,订阅控制模块根据检测结果完成相应的索引公有段生命周期设置。
具体实例二,存在组间碎片压缩时的检测过程:
步骤1,经过采集、解析、分组、索引控制等模块处理后的数据组正常提交给碎片压缩模块;
步骤2,碎片压缩模块完成组内数据的碎片压缩;
步骤3,碎片压缩模块向发布控制模块发起关联数据组的查询请求;
步骤4,发布控制模块根据索引公有段信息匹配到不一致且交易未完结的关联数据组的索引,将其返回给碎片压缩模块;
步骤5,碎片压缩模块完成组间数据碎片压缩,将压缩后的数据组提交给发布控制模块;
步骤6,发布控制模生成检测任务并发布给相应的一致性检测模块;
步骤7,一致性检测模块完成检测之后,将检测结果提交给订阅控制模块;
步骤8,订阅控制模块根据检测结果,完成数据组生命周期更新。
具体实例三,未完结数据组的生命周期控制流程:
步骤1,订阅控制模块实时或准实时查询一致性检测任务订阅列表一;
步骤2,对处于等待状态且已超过最长时间的检测任务,生成订阅关系清理任务列表;对处于沉默且已超过最长沉默时间的检测任务,将其状态重置为等待,并设定最长等待时间;
步骤3,订阅控制模块完成订阅关系清理。
本发明实施例提供的数据一致性检测装置和方法,弥补了传统一致性检测方案的不足,能有效的减少需检测的数据量,同时提升检测***的可扩展性。
图9示出了本发明实施例提供的计算机的硬件结构示意图。
该计算机设备可以包括处理器901以及存储有计算机程序指令的存储器902。
具体地,上述处理器901可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,ASIC),或者可以被配置成实施本发明实施例的一个或多个集成电路。
存储器902可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器902可包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器902可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器902可在综合网关容灾设备的内部或外部。在特定实施例中,存储器902是非易失性固态存储器。在特定实施例中,存储器902包括只读存储器(ROM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、电可改写ROM(EAROM)或闪存或者两个或更多个以上这些的组合。
处理器901通过读取并执行存储器902中存储的计算机程序指令,以实现上述实施例中的任意一种数据一致性检测方法。
在本发明的一个实施例中,计算机设备还可包括通信接口909和总线910。其中,如图9所示,处理器901、存储器902、通信接口909通过总线910连接并完成相互间的通信。
通信接口909,主要用于实现本发明实施例中各模块、装置、单元和/或设备之间的通信。
总线910包括硬件、软件或两者,将计算机设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(AGP)或其他图形总线、增强工业标准架构(EISA)总线、前端总线(FSB)、超传输(HT)互连、工业标准架构(ISA)总线、无限带宽互连、低引脚数(LPC)总线、存储器总线、微信道架构(MCA)总线、***组件互连(PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(SATA)总线、视频电子标准协会局部(VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线910可包括一个或多个总线。尽管本发明实施例描述和示出了特定的总线,但本发明考虑任何合适的总线或互连。
该计算机设备可以执行本发明实施例中的数据一致性检测方法,从而实现结合图1至图8描述的在数据一致性检测方法和装置。
另外,结合上述实施例中的数据一致性检测方法,本发明实施例可提供一种计算机存储介质来实现。该计算机存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种数据一致性检测方法。
需要明确的是,本发明并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本发明的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本发明的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
还需要说明的是,本发明中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或***。但是,本发明不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
以上所述,仅为本发明的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的***、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。
Claims (10)
1.一种数据一致性检测方法,其特征在于,包括:
接收待检测数据,将所述待检测数据分为多个数据组;
为所述数据组分配索引;
根据所述索引检索需要进行碎片压缩的所述数据组,对组内数据进行碎片压缩;
根据动态生成的订阅列表将碎片压缩后的所述待检测数据转换为检测任务,并按照订阅关系将所述检测任务发布到相应的检测节点,进行一致性检测。
2.根据权利要求1所述的数据一致性检测方法,其特征在于,所述将所述待检测数据分为多个数据组,具体为:
按照维度将所述待检测数据分为多个原始数据组;并
按照数据进位规则将所述原始数据组拆分为整数数值组和非整数数值组。
3.根据权利要求2所述的数据一致性检测方法,其特征在于,
所述索引包括索引公有段和索引私有段;其中,
所述索引公有段包括以下至少任一项或其组合:交易ID、时间段、业务类别;
所述索引私有段包括以下至少任一项或其组合:数据源类别、时间戳、编号、组内记录数。
4.根据权利要求3所述的数据一致性检测方法,其特征在于,所述根据所述索引检索需要进行碎片压缩的所述数据组,对组内数据进行碎片压缩,具体为:
根据所述索引公有段检索需要进行碎片压缩的所述数据组;
对所述整数数值组内的数据进行累加;
对所述非整数数值组内的数据进行累加,并按照所述数据进位规则将累加结果的整数数值部分累加到所述整数数值组。
5.根据权利要求4所述的数据一致性检测方法,其特征在于,还包括:
根据所述索引查询历史关联数据组,当查询到所述历史关联数据组时,按照索引依赖关系,将所述历史关联数据组中的数据分别累加到相应的所述整数数值组和非整数数值组,并再次进行碎片压缩。
6.根据权利要求1-5任意一项所述的数据一致性检测方法,其特征在于,还包括:
根据所述一致性检测的检测结果,更新所述订阅列表、所述订阅关系和所述检测任务的生命状态及生命周期。
7.根据权利要求6所述的数据一致性检测方法,其特征在于,
所述检测结果包括以下至少任一项:一致但交易未完结、不一致且交易未完结、交易已完结、交易异常;
所述生命状态包括至少任一项:沉默、等待、活跃、失效;
所述生命周期为所述检测任务的存活时间。
8.一种数据一致性检测装置,其特征在于,所述装置包括:
分组模块,用于接收待检测数据,将所述待检测数据分为多个数据组;
索引模块,用于为所述数据组分配索引;
碎片压缩模块,用于根据所述索引检索需要进行碎片压缩的所述数据组,对组内数据进行所述碎片压缩;
一致性检测模块,用于完成整合后,根据订阅列表生成检测任务,并按照订阅关系将所述检测任务发布到相应的检测节点,进行一致性检测。
9.一种计算机设备,其特征在于,所述设备包括:处理器以及存储有计算机程序指令的存储器;
所述处理器执行所述计算机程序指令时实现如权利要求1-7任意一项所述的数据一致性检测方法。
10.一种计算机存储介质,其特征在于,所述计算机存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如权利要求1-7任意一项所述的数据一致性检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711395044.9A CN110019271A (zh) | 2017-12-21 | 2017-12-21 | 数据一致性检测方法、装置、设备及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711395044.9A CN110019271A (zh) | 2017-12-21 | 2017-12-21 | 数据一致性检测方法、装置、设备及计算机存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110019271A true CN110019271A (zh) | 2019-07-16 |
Family
ID=67187094
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711395044.9A Pending CN110019271A (zh) | 2017-12-21 | 2017-12-21 | 数据一致性检测方法、装置、设备及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110019271A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111259027A (zh) * | 2020-01-15 | 2020-06-09 | 中国科学院软件研究所 | 一种数据一致性检测方法 |
CN112370773A (zh) * | 2020-10-20 | 2021-02-19 | 广州西山居世游网络科技有限公司 | 用户积分数值对账测试方法及*** |
CN112667868A (zh) * | 2019-10-15 | 2021-04-16 | 腾讯科技(深圳)有限公司 | 一种数据检测方法以及装置 |
CN113569910A (zh) * | 2021-06-25 | 2021-10-29 | 石化盈科信息技术有限责任公司 | 账户类型识别方法、装置、计算机设备及存储介质 |
CN117278439A (zh) * | 2023-11-23 | 2023-12-22 | 广东广宇科技发展有限公司 | 一种基于压缩算法的通信快速验证方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070106703A1 (en) * | 2005-10-04 | 2007-05-10 | Tatsuyuki Shiomi | Apparatus, system, and method for determining the consistency of a database |
US20110320412A1 (en) * | 2010-06-28 | 2011-12-29 | International Business Machines Corporation | Using repeated incremental background consistency checking to detect problems with content closer in time to when a failure occurs |
US20130332428A1 (en) * | 2012-06-11 | 2013-12-12 | Microsoft Corporation | Online and Workload Driven Index Defragmentation |
CN104462080A (zh) * | 2013-09-12 | 2015-03-25 | 北大方正集团有限公司 | 针对检索结果进行分组统计的索引结构创建方法和*** |
US20150120771A1 (en) * | 2013-10-31 | 2015-04-30 | Samsung Electronics Co., Ltd. | Method for processing data and electronic device thereof |
US20170068675A1 (en) * | 2015-09-03 | 2017-03-09 | Deep Information Sciences, Inc. | Method and system for adapting a database kernel using machine learning |
CN107644077A (zh) * | 2017-09-19 | 2018-01-30 | 杭州贝购科技有限公司 | 数据一致性监控方法、计算机设备和存储介质 |
-
2017
- 2017-12-21 CN CN201711395044.9A patent/CN110019271A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070106703A1 (en) * | 2005-10-04 | 2007-05-10 | Tatsuyuki Shiomi | Apparatus, system, and method for determining the consistency of a database |
US20110320412A1 (en) * | 2010-06-28 | 2011-12-29 | International Business Machines Corporation | Using repeated incremental background consistency checking to detect problems with content closer in time to when a failure occurs |
US20130332428A1 (en) * | 2012-06-11 | 2013-12-12 | Microsoft Corporation | Online and Workload Driven Index Defragmentation |
CN104462080A (zh) * | 2013-09-12 | 2015-03-25 | 北大方正集团有限公司 | 针对检索结果进行分组统计的索引结构创建方法和*** |
US20150120771A1 (en) * | 2013-10-31 | 2015-04-30 | Samsung Electronics Co., Ltd. | Method for processing data and electronic device thereof |
US20170068675A1 (en) * | 2015-09-03 | 2017-03-09 | Deep Information Sciences, Inc. | Method and system for adapting a database kernel using machine learning |
CN107644077A (zh) * | 2017-09-19 | 2018-01-30 | 杭州贝购科技有限公司 | 数据一致性监控方法、计算机设备和存储介质 |
Non-Patent Citations (4)
Title |
---|
D.P.阿奇利亚(D.P.ACHARJYA)等: "《FoxBASE+关系型数据库基础》", 国防工业出版社, pages: 258 - 260 * |
李建新: "基于测试数据分组合并的索引编码压缩方案", 《计算机工程》, 5 June 2010 (2010-06-05), pages 1 - 3 * |
禚伟等: "基于发布/订阅中间件的时空事件检测研究", 《计算机科学》 * |
禚伟等: "基于发布/订阅中间件的时空事件检测研究", 《计算机科学》, no. 10, 15 October 2012 (2012-10-15) * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112667868A (zh) * | 2019-10-15 | 2021-04-16 | 腾讯科技(深圳)有限公司 | 一种数据检测方法以及装置 |
CN112667868B (zh) * | 2019-10-15 | 2023-11-24 | 腾讯科技(深圳)有限公司 | 一种数据检测方法以及装置 |
CN111259027A (zh) * | 2020-01-15 | 2020-06-09 | 中国科学院软件研究所 | 一种数据一致性检测方法 |
CN111259027B (zh) * | 2020-01-15 | 2023-01-17 | 中国科学院软件研究所 | 一种数据一致性检测方法 |
CN112370773A (zh) * | 2020-10-20 | 2021-02-19 | 广州西山居世游网络科技有限公司 | 用户积分数值对账测试方法及*** |
CN113569910A (zh) * | 2021-06-25 | 2021-10-29 | 石化盈科信息技术有限责任公司 | 账户类型识别方法、装置、计算机设备及存储介质 |
CN117278439A (zh) * | 2023-11-23 | 2023-12-22 | 广东广宇科技发展有限公司 | 一种基于压缩算法的通信快速验证方法 |
CN117278439B (zh) * | 2023-11-23 | 2024-02-09 | 广东广宇科技发展有限公司 | 一种基于压缩算法的通信快速验证方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110019271A (zh) | 数据一致性检测方法、装置、设备及计算机存储介质 | |
CN110807085B (zh) | 故障信息的查询方法及装置、存储介质、电子装置 | |
CN107784070B (zh) | 一种提高数据清洗效率的方法、装置及设备 | |
CN105303437A (zh) | 对账的处理方法及装置 | |
CN109213758B (zh) | 数据存取方法、装置、设备及计算机可读存储介质 | |
CN111552509A (zh) | 一种接口间依赖关系的确定方法及装置 | |
CN112445787A (zh) | 一种基于实时业务的数据稽核方法和*** | |
CN114840527A (zh) | 数据处理方法、装置及计算机可读存储介质 | |
CN113973043B (zh) | 一种故障分析方法、装置及计算机可读存储介质 | |
CN109377206B (zh) | 支付限额***、方法、装置和存储介质 | |
CN114398520A (zh) | 数据检索方法、***、装置、电子设备及存储介质 | |
CN111506455B (zh) | 服务发布结果的查验方法及装置 | |
CN112990769A (zh) | 业务处理方法、装置、电子设备和存储介质 | |
CN114218173B (zh) | 传帐类交易文件的批处理***、处理方法、介质和设备 | |
CN109377391B (zh) | 一种信息追踪方法、存储介质和服务器 | |
CN112988829A (zh) | 一种大数据分析处理*** | |
CN110647448A (zh) | 一种移动应用操作日志数据实时分析方法、服务器和*** | |
CN116109322A (zh) | 数据采集方法、数据采集设备以及计算机可读存储介质 | |
CN112270537B (zh) | 一种多渠道账单的入库方法、***及存储介质 | |
CN112907009B (zh) | 标准化模型的构建方法、装置、存储介质及设备 | |
CN113238911A (zh) | 告警处理方法及装置 | |
CN111835847B (zh) | 数据处理方法、装置、设备及存储介质 | |
CN112686760B (zh) | 基于大数据的金融业务处理方法及平台 | |
CN110349025B (zh) | 一种基于未花费交易输出的合约资产防遗失方法及装置 | |
CN115473968A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190716 |
|
RJ01 | Rejection of invention patent application after publication |