CN117407382A - 一种多数据源的分片调度数据核对方法与系统 - Google Patents
一种多数据源的分片调度数据核对方法与系统 Download PDFInfo
- Publication number
- CN117407382A CN117407382A CN202311392893.4A CN202311392893A CN117407382A CN 117407382 A CN117407382 A CN 117407382A CN 202311392893 A CN202311392893 A CN 202311392893A CN 117407382 A CN117407382 A CN 117407382A
- Authority
- CN
- China
- Prior art keywords
- data
- formula
- sql
- configuration
- result
- 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 25
- 238000000605 extraction Methods 0.000 claims abstract description 42
- 238000013507 mapping Methods 0.000 claims abstract description 28
- 238000004364 calculation method Methods 0.000 claims abstract description 24
- 238000012545 processing Methods 0.000 claims description 28
- 238000004458 analytical method Methods 0.000 claims description 11
- 238000013075 data extraction Methods 0.000 claims description 11
- 238000013215 result calculation Methods 0.000 claims description 2
- 238000013524 data verification Methods 0.000 abstract description 6
- 230000008569 process Effects 0.000 description 7
- 230000009286 beneficial effect Effects 0.000 description 6
- 238000012795 verification Methods 0.000 description 5
- 230000014509 gene expression Effects 0.000 description 4
- 239000012634 fragment Substances 0.000 description 2
- 230000008439 repair process Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Quality & Reliability (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及数据核对技术领域,尤其是一种多数据源的分片调度数据核对方法,该方法首先获取核对任务的配置信息,包括数据源配置、分片SQL配置、数据查询SQL配置、参数提取SQL配置、核对公式配置和预期公式结果配置。然后,根据配置,对核对任务进行切片,并为每个任务分配数据源。每个切片任务执行数据查询和参数提取SQL,获取所需数据。这些参数结果存入映射表,并被代入核对公式。使用数学公式解析引擎,核对公式计算结果。最后,根据预期公式结果配置,判断公式计算结果是否满足预期,以确定数据核对的成功或失败。本发明能够实现跨数据源进行数据核对,且通过分片调度,显著提高了核对效率。
Description
技术领域
本发明涉及数据核对技术领域,尤其是一种多数据源的分片调度数据核对方法与系统。
背景技术
在数据驱动的时代,数据质量已成为各行各业决策的关键因素,而数据核对则是保障数据质量的重要步骤。通常,数据核对过程依赖于对单一数据源执行预定义的SQL查询,再将查询结果与预期结果进行比较。如果这两者一致,则认为数据是准确的;反之,就可以确定数据存在问题。这种核对方法由于其简洁和针对性,在处理一些简单的数据核对任务时,能够提供高效且易于理解的解决方案。
然而,随着数据的复杂性和量级的不断提升,以及业务需求的日益多样化,单一数据源的核对方法开始显现出其局限性。首先,现有的数据核对方法通常只能处理单一的数据源。这意味着它不能处理来自多个不同数据源的数据,这在当今的大数据环境下是一个重要的局限性。其次,当需要处理的数据量非常大时,数据核对任务可能会变得非常慢。此外,现有的方法通常需要预先定义核对规则,而不能实时编辑。这使得它难以适应业务规则的变化。因此,需要一个全新的解决方案,来更好地应对这些挑战,只依赖底层数据就能实现跨数据源的数据核对,同时提高核对效率。
发明内容
本发明的目的是提供一种多数据源的分片调度数据核对方法,以实现跨数据源的数据核对,并提高数据核对的效率。
本发明提供的基础方案:一种多数据源的分片调度数据核对方法,包括以下步骤:
获取核对任务的配置信息,所述配置信息包括多数据源配置、分片SQL配置、数据查询SQL配置、参数提取SQL配置、核对公式配置、预期公式结果配置;
根据多数据源配置和分片SQL配置,执行分片SQL:将核对任务进行切片,为每个分片任务分配一个或多个数据源;
对于每个切片任务,根据数据查询SQL配置和参数提取SQL配置,执行数据查询SQL和参数提取SQL,获取相应的数据;
将通过查询并提取的参数结果存入一个映射表中,其中映射表的键为参数名称,值为对应的实际值;
根据核对公式配置,将从映射表中提取核对公式中的参数对应的实际值,代入到核对公式中;
使用数学公式解析引擎计算公式,得到公式计算结果;
根据预期公式结果配置,判断公式计算结果是否等于预期结果,若等于预期结果,则判定数据核对成功,否则判定数据核对失败。
本发明的有益效果:本发明提供了一种基于SQL结果公式解析的多数据源分片调度数据核对方法,通过多数据源和分片处理,有效提升数据核对的效率,尤其在处理大规模数据时。同时,这个方法允许进行多数据源的数据核对,极大地提升了核对的灵活性和范围。并且,通过基于SQL的核对规则定义,不仅可以在无需进行系统迭代的情况下,实时编辑和更新核对规则,提高了数据核对的灵活性和效率,而且实现了数据核对工作与具体业务系统的解耦,进一步提升了数据核对的灵活性和可扩展性。最后,通过使用数学公式解析引擎,方案能够准确地计算和验证数据,确保了数据的准确性和可靠性。总的来说,这个发明通过其独特的设计和实现,显著提升了数据核对的效率,灵活性和准确性,同时减少了系统迭代的需要,提高了数据核对的灵活性和可扩展性。
进一步,本发明还包括一种多数据源的分片调度数据核对系统,该系统包括配置模块、数据抽取模块、数据处理模块、结果返回模块;所述配置模块用于对多数据源进行管理和配置;所述数据抽取模块负责连接数据源,执行核对任务中的分片SQL、数据查询SQL和参数提取SQL,以获取相应的数据;所述数据处理模块负责将获取的的数据代入到核对公式中,并使用数学公式解析引擎进行结果计算;所述结果返回模块将公式计算结果与预期结果进行比对,并返回比对结果。
本方案的有益效果为:该系统有效地简化了数据核对流程,提高了数据处理的效率。通过配置模块对多数据源进行管理和配置,使得本系统能够适应各种不同的数据源环境,增强了系统的灵活性和适应性。数据抽取模块则能够快速、有效地从各数据源获取所需数据,提高了数据处理的速度。数据处理模块将查询得到的数据代入到核对公式中,并使用数学公式解析引擎进行计算,这使得本系统能够处理复杂的数据核对任务,增强了系统的功能性。结果返回模块将公式计算结果与预期结果进行比对,并返回比对结果,这既提供了数据核对的结果反馈,也使得用户能够快速了解数据核对的状态,提高了用户体验。总的来说,该系统可以高效、准确地处理复杂的多数据源数据核对任务,提高数据处理效率,增强数据处理的准确性和可靠性,同时提供了用户友好的结果反馈,提高了用户体验。
进一步,所述配置模块还包括多数据源配置单元、SQL配置单元以及公式配置单元;所述多数据源配置单元负责配置和管理多个数据源的连接信息;所述SQL配置单元用于配置核对任务中的分片SQL、数据查询SQL和参数提取SQL;所述公式配置单元用于配置核对公式和预期公式结果。
本方案的有益效果为:SQL配置单元专门负责配置核对任务中的分片SQL、数据查询SQL和参数提取SQL,这使得SQL配置处理更具专业性,可以针对不同类型的SQL进行专门配置,提高了SQL处理的准确性和效率。公式配置单元则专门负责配置核对公式和预期公式结果,这使得公式的配置和管理变得更加明确和简洁,减少了公式配置中可能出现的错误,提高了公式处理的准确性。
进一步,所述数据抽取模块进一步包括:数据源连接单元和SQL执行单元;所述数据源连接单元,根据配置模块中所设定的数据源进行连接;所述SQL执行单元则根据SQL配置单元中所设定的SQL语句对已经连接的数据源进行查询,获取查询结果。
本方案的有益效果为:数据源连接单元专门负责根据配置模块中设定的数据源进行连接,这使得系统能够更灵活地管理和操作多个数据源,提高了数据连接的效率。SQL执行单元则专门负责根据SQL配置单元中设定的SQL语句对已连接的数据源进行查询,获取查询结果,这使得系统能够更准确、更快速地获取所需数据,提高了数据抽取的效率。
进一步,所述数据处理模块进一步包括:公式参数提取单元和公式执行单元;所述公式参数提取单元用于从SQL执行单元获取的查询结果中提取出用于核对公式的参数;所述公式执行单元:用于从公式参数提取单元获取的参数,代入到核对公式中进行计算,以得到核对结果。
本方案的有益效果为:公式参数提取单元专门负责从SQL执行单元获取的查询结果中提取出用于核对公式的参数,这使得参数的获取过程更加精准和高效,减少了错误的可能性。公式执行单元则负责将从公式参数提取单元获取的参数代入到核对公式中进行计算,以得到核对结果,这使得公式的执行过程更加明确和准确,提高了数据处理的准确性。
进一步,所述数学公式解析引擎为基于语法树的数学公式解析器。
本方案的有益效果为:通过使用基于语法树的数学公式解析器作为数学公式解析引擎,提升了公式处理的效率和准确性。基于语法树的数学公式解析器能够结构化地处理和解析公式,保证了公式解析的准确性,降低了解析错误的可能性。同时,基于语法树的解析器对于公式的处理速度也更快,提升了整体的数据处理效率。另外,基于语法树的解析器具有良好的可扩展性,可以方便地添加对新的公式或运算符的支持,从而使系统能够更好地适应各种复杂的核对公式。
附图说明
图1为本发明中一种多数据源的分片调度数据核对方法的流程图。
具体实施方式
下面通过具体实施方式进一步详细说明:
实施例一
如图1所示的一种多数据源的分片调度数据核对方法,包括以下步骤:
第一步:获取核对任务的配置信息,所述配置信息包括多数据源配置、分片SQL配置、数据查询SQL配置、参数提取SQL配置、核对公式配置、预期公式结果配置。
在开始执行核对任务之前,系统需要获取所有必要的配置信息。这些配置信息通常会在配置文件中,或者在特定的数据库表中存储。具体包括以下几部分:
多数据源配置:这部分配置包含了多个数据库的连接信息,例如,主机名(或IP地址)、端口、数据库名、用户名和密码等。这些信息用于建立与目标数据库的连接。本实施例中,配置三个数据源,数据源A、数据源B和数据源C,每个数据源都需要有关如何连接和访问它的信息。例如,数据库类型(如MySQL、PostgreSQL等)、地址、端口、用户名、密码等。
分片SQL配置:这部分配置定义了如何将一个大的核对任务分解为多个较小的子任务。每个子任务可以独立地在一个数据源上执行,从而实现并行处理。分片SQL配置通常包含一个或多个SQL语句,这些语句定义了如何在每个数据源上选取数据片段。通常还涉及到一些分片策略,例如基于数据的范围、基于特定的键值等。
数据查询SQL配置:这部分配置定义了如何从每个数据源中查询数据。它包含一个或多个SQL查询语句,这些语句用于在每个数据源上执行,以获取需要进行核对的数据。
参数提取SQL配置:这部分配置定义了如何从查询结果中提取出核对公式所需的参数。它包含一个或多个SQL语句,这些语句用于提取查询结果中的特定字段作为核对公式的参数。
核对公式配置:这部分配置定义了用于核对的数学公式。公式中包含的参数需要与参数提取SQL配置中提取的参数相对应。
预期公式结果配置:这部分配置定义了公式的预期结果。这是用于核对公式计算结果的基准。如果公式的计算结果与预期结果一致,那么核对任务成功;否则,核对任务失败。
这些配置信息都需要在开始核对任务之前获取并解析,以便在后续的步骤中使用。
第二步:根据多数据源配置和分片SQL配置,执行分片SQL:将核对任务进行切片,为每个分片任务分配一个或多个数据源。
分片SQL的主要目的是将一个大的数据集分解为更小、更易于管理和处理的数据片段。这种分片方法通常用于大量数据的处理,能够有效地提高数据处理的效率和并行性。
根据分片SQL配置,为每个数据源创建一个分片任务。在本实施例中,为数据源A、数据源B和数据源C各创建一个分片任务,每个任务包含一个SQL查询。
第三步:对于每个切片任务,根据数据查询SQL配置和参数提取SQL配置,执行数据查询SQL和参数提取SQL,获取相应的数据。
对于每个切片任务,根据数据查询SQL配置和参数提取SQL配置,执行相应的SQL语句,获取所需的数据。数据查询SQL用于从数据源中查询数据,参数提取SQL用于从查询结果中提取所需的参数。该步骤主要涉及根据配置在每个分片任务的数据源上执行SQL查询,并从结果中提取所需的参数。这个步骤可以进一步细分为:
执行数据查询SQL:基于数据查询SQL配置,对每个分片任务在其对应的数据源上执行SQL查询语句。这主要是为了获取原始数据。在本实施例中,已经在数据源A上执行了select a,b from t1,在数据源B上执行了select c,d from t2,在数据源C上执行了select e,f from t3。
执行参数提取SQL:接着,基于参数提取SQL配置,对查询结果进行处理以提取出所需的参数。在本实施例中,这可能包括从数据源A的查询结果中提取a和b,从数据源B的查询结果提取c和d,以及从数据源C的查询结果提取e和f。
第四步:将通过查询并提取的参数结果存入一个映射表中,其中映射表的键为参数名称,值为对应的实际值。
将通过查询并提取的参数结果存入一个映射表中,其中映射表的键为参数名称,值为对应的实际值。这一步可以方便后续步骤从映射表中快速找到所需的参数值。
这个步骤可以细分为:
创建映射表:首先,需要一个映射表来存储参数值。这个映射表可以是一个字典或其他具有键-值对存储能力的数据结构。
存储参数值:接着,将每个参数的名称作为键,参数的实际值作为值,存入映射表。在本实施例中,可能会有一个映射表,其中a、b、c、d、e和f是键,它们的实际值是值。
本实施例中还包括验证存储结果:为了确保所有参数值都已正确存入映射表,可以进行一次验证。这可以通过检查映射表中的键值对数量,或者对某几个参数执行查找操作来实现。
第五步:根据核对公式配置,将从映射表中提取核对公式中的参数对应的实际值,代入到核对公式中。
在这个步骤中,根据核对公式配置,从映射表中提取参数的实际值,并将它们代入到核对公式中。这个步骤可以细分为:
解析核对公式:首先,需要解析核对公式以理解它需要哪些参数。例如,如果核对公式是a+b*c,则需要从映射表中提取a、b和c的值。
从映射表中提取参数值:接着,从映射表中提取出这些参数的实际值。在本实施例中,会从映射表中提取出a、b和c的值。
代入参数值:然后,将这些参数的实际值代入到核对公式中。在上述例子中,如果a的值是1,b的值是2,c的值是3,将得到1+2*3。
第六步:使用数学公式解析引擎计算公式,得到公式计算结果。本实施例中,数学公式解析引擎为基于语法树的数学公式解析器。
第七步:根据预期公式结果配置,判断公式计算结果是否等于预期结果,若等于预期结果,则判定数据核对成功,否则判定数据核对失败。
在第六步中,将实际值代入到公式中,并使用数学公式解析引擎进行计算。本实施例中的数学公式解析引擎是基于语法树的。语法树(也叫解析树)是一种表现数学表达式或语句结构的树形表示法,它以一种层次化的方式展示了公式中的运算顺序。
创建语法树:首先需要根据公式创建语法树。比如,对于公式a+b=2,语法树将首先解析出等号两边的表达式a+b和2,然后分别对a+b进行解析,得到a、b和加法运算符。
代入实际值:接着,需要从映射表中提取出a和b的值,并代入语法树中对应的位置。
计算公式结果:最后,按照语法树的结构进行计算。在本实施例中,将a的值和b的值相加,得到结果,然后将这个结果和2进行比较。
在第七步中,则需要判断公式的计算结果是否与预期结果相等。
获取预期结果:首先,需要知道预期结果。在公式a+b=2中,预期结果就是2。
比较计算结果和预期结果:接着,将第六步中计算得到的结果与预期结果进行比较。如果它们相等,就判定数据核对成功;否则,判定数据核对失败。
例如,对于公式a+b=c*d,首先识别出等号两边的表达式a+b和c*d,然后将a+b和c*d分别分解为更小的子表达式。然后,从映射表中获取每个参数的实际值,并代入到语法树中。例如,如果映射表中a的值是1,b的值是2,c的值是3,d的值是 4,将这些值代入到语法树中。按照语法树的结构计算公式的结果。对于a+b=c*d,首先计算a+b得到3,然后计算c*d得到12。然后比较这两个结果,发现它们不相等,因此该公式的结果是 "假" 或 "失败"。
实施例二
本实施例提供的一种多数据源的分片调度数据核对系统,包括配置模块、数据抽取模块、数据处理模块、结果返回模块。
所述配置模块还包括多数据源配置单元、SQL配置单元以及公式配置单元;所述多数据源配置单元负责配置和管理多个数据源的连接信息,在本实施例中,它会配置数据源A、B和C的连接信息;所述SQL配置单元用于配置核对任务中的分片SQL、数据查询SQL和参数提取SQL,在本实施例中,它会配置sql-1、sql-2和sql-3;所述公式配置单元用于配置核对公式和预期公式结果,在本实施例中,配置公式X1=X2;X1+X2>Y3;X1+X2+X3=Y1+Y2+Y3。
所述数据抽取模块负责连接数据源,执行核对任务中的分片SQL、数据查询SQL和参数提取SQL,以获取相应的数据。所述数据抽取模块进一步包括:数据源连接单元和SQL执行单元;其中,数据源连接单元,根据配置模块中所设定的数据源进行连接;SQL执行单元则根据SQL配置单元中所设定的SQL语句对已经连接的数据源进行查询,获取查询结果。
数据源连接单元:根据配置模块中设定的数据源进行连接。连接的过程包括:读取配置模块中设定的数据源信息,这些信息通常包括数据源的类型(如MySQL、PostgreSQL、Oracle等)、地址、端口、用户名和密码等。使用适当的数据库驱动或库,建立到数据源的连接。SQL执行单元:这个单元的任务是执行配置模块中设定的SQL语句,并获取查询结果。工作步骤包括:
读取SQL配置单元中设定的SQL语句。在本实施例中,这些SQL语句可能是sql-1、sql-2和sql-3。使用数据源连接单元建立的连接,执行这些SQL语句。收集SQL查询的结果:在本实施例中,查询结果分别对应X1、Y1、X2、Y2、X3和Y3。这些查询结果将被传递给数据处理模块,供公式参数提取单元使用。
所述数据处理模块负责将查询得到的数据代入到核对公式中,并使用数学公式解析引擎进行结果计算。本实施例中,数学公式解析引擎为基于语法树的数学公式解析器。所述数据处理模块进一步包括:公式参数提取单元和公式执行单元,其中公式参数提取单元用于从SQL执行单元获取的查询结果中提取出用于核对公式的参数,公式执行单元用于从公式参数提取单元获取的参数,代入到核对公式中进行计算,以得到公式计算结果。
公式参数提取单元:此单元的任务是从SQL执行单元获取的查询结果中提取用于核对公式的参数。工作步骤如下:
读取SQL执行单元返回的数据。在本实施例中,这些数据可能包括X1, Y1, X2,Y2, X3, Y3。
根据预设的参数提取规则,提取出需要的参数。例如,如果一个公式需要用到X1和X2,那么这个单元会从数据中提取出这两个参数的值。
将提取出的参数值传递给公式执行单元。
公式执行单元:此单元的任务是使用公式参数提取单元获取的参数,代入到核对公式中进行计算,以得到公式计算结果。工作步骤如下:
读取公式配置单元中设定的公式。在本实施例中,这些公式包括X1=X2;X1+X2>Y3;X1+X2+X3=Y1+Y2+Y3。
将公式参数提取单元获取的参数值代入到公式中。例如,如果公式是X1+X2,那么这个单元会将X1和X2的值代入到这个公式中。
使用数学公式解析引擎进行计算。数学公式解析引擎通常会将公式转化为一个可计算的表达式(例如,抽象语法树),然后进行计算。
返回公式计算的结果。这些结果将被传递给结果返回模块,用于和预期结果进行比对。
所述结果返回模块将公式计算结果与预期结果进行比对,并返回比对结果。例如,如果X1=X2, X1+X2>Y3, 和X1+X2+X3=Y1+Y2+Y3的计算结果与预期结果相符,系统将返回成功的比对结果。如果不匹配,则将报告哪个公式没有满足。
当然,在该数据处理模块中还可以包括公式检测单元,用于检测并处理各种可能的公式错误,包括语法错误、类型错误、运行时错误和未定义的变量或函数。当检测到错误时,这个单元将生成详细的异常信息,每个异常信息还包括错误类型、错误位置、错误消息以及修复建议,并将这些信息返回给用户。
例如:假设用户尝试解析以下公式:"2 + * 3"。这个公式包含一个语法错误,因为"+" 操作符后面应该跟着一个适合的操作数,但在这里却跟着了一个 "*"。
在这种情况下,结果返回模块将捕获此错误,并返回以下异常信息:错误类型:语法错误;错误位置:字符位置3(从1开始计数,"*"在位置3);错误消息:在 "+" 操作符后面缺少操作数;修复建议:检查公式,确保 "+" 操作符后面跟着一个适合的操作数
这样,用户就可以根据返回的异常信息,快速定位并纠正错误。在这个例子中,用户需要在 "+" 操作符后面添加一个适合的操作数,以修复语法错误。例如,可以将公式修改为 "2 + 1 * 3"。
以上的仅是本发明的实施例,方案中公知的具体结构及特性等常识在此未作过多描述,所属领域普通技术人员知晓申请日或者优先权日之前发明所属技术领域所有的普通技术知识,能够获知该领域中所有的现有技术,并且具有应用该日期之前常规实验手段的能力,所属领域普通技术人员可以在本申请给出的启示下,结合自身能力完善并实施本方案,一些典型的公知结构或者公知方法不应当成为所属领域普通技术人员实施本申请的障碍。应当指出,对于本领域的技术人员来说,在不脱离本发明结构的前提下,还可以作出若干变形和改进,这些也应该视为本发明的保护范围,这些都不会影响本发明实施的效果和专利的实用性。本申请要求的保护范围应当以其权利要求的内容为准,说明书中的具体实施方式等记载可以用于解释权利要求的内容。
Claims (6)
1.一种多数据源的分片调度数据核对方法,其特征在于,所述方法包括以下步骤:
获取核对任务的配置信息,所述配置信息包括多数据源配置、分片SQL配置、数据查询SQL配置、参数提取SQL配置、核对公式配置、预期公式结果配置;
根据多数据源配置和分片SQL配置,执行分片SQL:将核对任务进行切片,为每个分片任务分配一个或多个数据源;
对于每个切片任务,根据数据查询SQL配置和参数提取SQL配置,执行数据查询SQL和参数提取SQL,获取相应的数据;
将通过查询并提取的参数结果存入一个映射表中,其中映射表的键为参数名称,值为对应的实际值;
根据核对公式配置,将从映射表中提取核对公式中的参数对应的实际值,代入到核对公式中;
使用数学公式解析引擎计算公式,得到公式计算结果;
根据预期公式结果配置,判断公式计算结果是否等于预期结果,若等于预期结果,则判定数据核对成功,否则判定数据核对失败。
2.一种多数据源的分片调度数据核对系统,其特征在于:包括配置模块、数据抽取模块、数据处理模块、结果返回模块;所述配置模块用于对多数据源进行管理和配置;所述数据抽取模块负责连接数据源,执行核对任务中的分片SQL、数据查询SQL和参数提取SQL,以获取相应的数据;所述数据处理模块负责将获取的数据代入到核对公式中,并使用数学公式解析引擎进行结果计算;所述结果返回模块将公式计算结果与预期结果进行比对,并返回比对结果。
3.根据权利要求2所述的分片调度数据核对系统,其特征在于:所述配置模块进一步包括:多数据源配置单元、SQL配置单元以及公式配置单元;所述多数据源配置单元负责配置和管理多个数据源的连接信息;所述SQL配置单元用于配置核对任务中的分片SQL、数据查询SQL和参数提取SQL;所述公式配置单元用于配置核对公式和预期公式结果。
4.根据权利要求3所述的分片调度数据核对系统,其特征在于:所述数据抽取模块进一步包括:数据源连接单元和SQL执行单元;所述数据源连接单元,根据配置模块中所设定的数据源进行连接;所述SQL执行单元则根据SQL配置单元中所设定的SQL语句对已经连接的数据源进行查询,获取查询结果。
5.根据权利要求4所述的分片调度数据核对系统,其特征在于:所述数据处理模块进一步包括:公式参数提取单元和公式执行单元;所述公式参数提取单元用于从SQL执行单元获取的查询结果中提取出用于核对公式的参数;所述公式执行单元:用于从公式参数提取单元获取的参数,代入到核对公式中进行计算,以得到公式计算结果。
6.根据权利要求2所述的分片调度数据核对系统,其特征在于:所述数学公式解析引擎为基于语法树的数学公式解析器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311392893.4A CN117407382A (zh) | 2023-10-25 | 2023-10-25 | 一种多数据源的分片调度数据核对方法与系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311392893.4A CN117407382A (zh) | 2023-10-25 | 2023-10-25 | 一种多数据源的分片调度数据核对方法与系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117407382A true CN117407382A (zh) | 2024-01-16 |
Family
ID=89495814
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311392893.4A Pending CN117407382A (zh) | 2023-10-25 | 2023-10-25 | 一种多数据源的分片调度数据核对方法与系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117407382A (zh) |
-
2023
- 2023-10-25 CN CN202311392893.4A patent/CN117407382A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8949166B2 (en) | Creating and processing a data rule for data quality | |
CN107665171B (zh) | 自动回归测试方法及装置 | |
EP2499565B1 (en) | Managing record format information | |
US8612939B2 (en) | Multi trace parser | |
Padgham et al. | Model-based test oracle generation for automated unit testing of agent systems | |
Li et al. | A mining approach to obtain the software vulnerability characteristics | |
Dragan et al. | Using stereotypes to help characterize commits | |
CN110059006B (zh) | 代码审计方法及装置 | |
CN113901083B (zh) | 基于多解析器的异构数据源操作资源解析定位方法和设备 | |
CN108959454B (zh) | 一种提示子句指定方法、装置、设备及存储介质 | |
CN113821554A (zh) | 一种实现异构数据库数据采集的方法 | |
CN110580170B (zh) | 软件性能风险的识别方法及装置 | |
Kauhanen et al. | Regression test selection tool for python in continuous integration process | |
CN110659200B (zh) | 航空机载软件的源码和目标码对比分析方法及系统 | |
CN117407382A (zh) | 一种多数据源的分片调度数据核对方法与系统 | |
CN114201757A (zh) | 一种基于软件漏洞识别的置信度标识方法、信息存储介质 | |
US7844627B2 (en) | Program analysis method and apparatus | |
CN114201759A (zh) | 一种基于软件包命名矩阵的软件漏洞识别方法与系统 | |
WO2021104027A1 (zh) | 代码性能检测方法、装置、设备及存储介质 | |
CN112069031A (zh) | 异常查询方法、装置、设备及计算机可读存储介质 | |
CN117251477B (zh) | 基于sql解析的数据开发脚本标准化检查方法及系统 | |
CN115658551B (zh) | 代码测试方法、存储介质、电子设备和装置 | |
CN111078538B (zh) | 基于jmh的规则自动化测试的方法 | |
CN111737131B (zh) | 一种基于概率对齐的代码错误定位方法 | |
CN117056238B (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 |