CN110990267B - 数据处理方法和装置 - Google Patents
数据处理方法和装置 Download PDFInfo
- Publication number
- CN110990267B CN110990267B CN201911166541.0A CN201911166541A CN110990267B CN 110990267 B CN110990267 B CN 110990267B CN 201911166541 A CN201911166541 A CN 201911166541A CN 110990267 B CN110990267 B CN 110990267B
- Authority
- CN
- China
- Prior art keywords
- databases
- database
- target
- same
- attribute information
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3664—Environments for testing or debugging software
-
- 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/242—Query formulation
- G06F16/2433—Query languages
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种数据处理方法和装置,该方法包括:获取保险数据分别在N个不同测试环境下测试所需的数据库,判断每个所述数据库的每个表项的属性信息是否与其它N‑1个数据库的表项的属性信息相同,若存在至少两个数据库的同一表项的属性信息不相同,则根据SQL,将所述至少两个数据库的所述同一表项的属性信息更改为相同,以使所述N个数据库的每个表项的属性信息相同,根据更改后的N个数据库,对所述保险数据在不同测试环境下进行测试。通过上述方式保证N个数据库的一致性,从而提高了通过这N个数据库对保险数据进行测试的测试结果的准确性。
Description
技术领域
本申请实施例涉及数据处理技术领域,尤其涉及一种数据处理方法和装置。
背景技术
随着生活质量的改善,人们的防范意识、危机意识也是逐渐提高;保险也渐渐的进入了人们的视野,提高防范意识,保护自身生命财产的安全,给家人留下足够的生活成本,保险业务就变得相当重要。现有技术中,保险业务的保险数据在上线之前需先在不同测试环境的应用场景下进行测试,不同的测试环境例如包括保险业务的保险数据的功能测试、性能测试、自动化测试等,不同的测试环境存在与其对应的保险业务数据库,若不同的测试环境对应的数据库不完全一致时,就会造成最终的测试结果不准确。
发明内容
本申请实施例提供一种数据处理方法和装置,用于提高数据处理准确性。
第一方面,本申请实施例提供一种数据处理方法,包括:
获取保险数据分别在N个不同测试环境下测试所需的数据库,N为大于等于2的整数,每个数据库包括至少一个表项;
判断每个所述数据库的每个表项的属性信息是否与其它N-1个数据库的表项的属性信息相同;
若存在至少两个数据库的同一表项的属性信息不相同,则根据结构化查询语言SQL,将所述至少两个数据库的所述同一表项的属性信息更改为相同,以使所述N个数据库间的表项的属性信息相同;
根据更改后的N个数据库,对所述保险数据在不同测试环境下进行测试。
可选地,所述表项的属性信息包括表项的名称;
所述判断每个所述数据库的每个表项的属性信息是否与其它N-1个数据库的表项的属性信息相同,包括:
判断目标数据库的目标表项的名称是否包括在其它N-1个数据库中,所述目标数据库为所述N个数据库中的任一数据库,所述目标表项为所述目标数据库中的任一表项;
若所述其它N-1个数据库中M个数据库不包括所述目标表项的名称,则确定所述目标数据库与所述M个数据库的目标表项的属性信息不相同,M为大于等于1且小于等于N-1的整数。
可选地,所述表项的属性信息还包括表项的结构信息,所述根据结构化查询语言SQL,更改所述至少两个数据库的所述同一表项的属性信息,包括:
判断所述M个数据库中的表项是否包括所述目标数据库的所述目标表项的结构信息;
若所述目标数据库的所述目标表项的结构信息与所述M个数据库中Q个数据库的表项的结构信息不同,则生成建表项SQL语句,根据所述建表项SQL语句,在所述Q个数据库建立所述目标表项;
若所述目标数据库的所述目标表项的结构信息与所述M个数据库中M-Q个数据库的表项的结构信息相同,则生成修改表名称SQL语句,根据所述修改表名称SQL语句,将所述目标数据库与所述Q个数据库的目标表项的名称更改为相同;
Q为大于等于0且小于等于M的整数。
可选地,所述表项的属性信息还包括表项的字段信息,所述方法还包括:
若所述其它N-1个数据库中K个数据库中包括所述目标表项的名称,K为大于等于1且小于等于N-1的整数,则判断所述目标数据库的所述目标表项的字段信息与所述K个数据库的所述名称对应的表项的字段信息是否相同;
若所述目标数据库的所述目标表项的字段信息与所述K个数据库中L个数据库的所述名称对应的表项的字段信息不同,则确定所述目标数据库与所述L个数据库的目标表项的属性信息不相同;
L为大于等于1且小于等于K的整数。
可选地,所述根据结构化查询语言SQL,更改所述至少两个数据库的所述同一表项的属性信息,包括:
生成表字段更新SQL语句;
根据所述表字段更新SQL语句,将所述目标数据库与所述L个数据库的目标表项的字段信息更改为相同。
可选地,所述方法还包括:
判断所述更改后的N个数据库中同一预设表项的内容数据是否相同;
若不相同,则根据SQL,将所述N个数据库的所述同一预设表项的内容数据更改为相同;
其中,所述预设表项为包括的内容数据属于配置信息的表项。
可选地,所述方法还包括:
获取所述保险数据在线上环境运行时的读取数据库和写入数据库;
判断读取数据库和写入数据库中同一表项的内容数据是否相同;
若不相同,则根据SQL,将所述读取数据库和所述写入数据库的内容数据更改为相同。
第二方面,本申请实施例提供一种数据处理方法,包括:
获取模块,获取保险数据分别在N个不同测试环境下测试所需的数据库,N为大于等于2的整数,每个数据库包括至少一个表项;
比对模块,判断每个所述数据库的每个表项的属性信息是否与其它N-1个数据库的表项的属性信息相同;
处理模块,用于若比对模块判断出存在至少两个数据库的同一表项的属性信息不相同,则根据结构化查询语言SQL,将所述至少两个数据库的所述同一表项的属性信息更改为相同,以使所述N个数据库的每个表项的属性信息相同;
测试模块,根据更改后的N个数据库,对所述保险数据在不同测试环境下进行测试。
可选地,所述表项的属性信息包括表项的名称;
所述比对模块,具体用于:
判断目标数据库的目标表项的名称是否包括在其它N-1个数据库中,所述目标数据库为所述N个数据库中的任一数据库,所述目标表项为所述目标数据库中的任一表项;
若所述其它N-1个数据库中M个数据库不包括所述目标表项的名称,则确定所述目标数据库与所述M个数据库的目标表项的属性信息不相同,M为大于等于1且小于等于N-1的整数。
可选地,所述表项的属性信息还包括表项的结构信息,
所述比对模块,还用于:判断所述M个数据库中的表项是否包括所述目标数据库的所述目标表项的结构信息;
所述处理模块,具体用于若所述比对模块判断出所述目标数据库的所述目标表项的结构信息与所述M个数据库中Q个数据库的表项的结构信息不同,则生成建表项SQL语句,根据所述建表项SQL语句,在所述Q个数据库建立所述目标表项;
若所述比对模块判断出所述目标数据库的所述目标表项的结构信息与所述M个数据库中M-Q个数据库的表项的结构信息相同,则生成修改表名称SQL语句,根据所述修改表名称SQL语句,将所述目标数据库与所述Q个数据库的目标表项的名称更改为相同;
Q为大于等于0且小于等于M的整数。
可选地,所述表项的属性信息还包括表项的字段信息,所述比对模块,还用于:若判断出所述其它N-1个数据库中K个数据库中包括所述目标表项的名称,K为大于等于1且小于等于N-1的整数,则判断所述目标数据库的所述目标表项的字段信息与所述K个数据库的所述名称对应的表项的字段信息是否相同;
若判断出所述目标数据库的所述目标表项的字段信息与所述K个数据库中L个数据库的所述名称对应的表项的字段信息不同,则确定所述目标数据库与所述L个数据库的目标表项的属性信息不相同;
L为大于等于1且小于等于K的整数。
可选地,所述处理模块,具体用于:
生成表字段更新SQL语句;
根据所述表字段更新SQL语句,将所述目标数据库与所述L个数据库的目标表项的字段信息更改为相同。
可选地,所述比对模块,还用于:判断所述更改后的N个数据库中同一预设表项的内容数据是否相同;
处理模块,还用于若比对模块判断出不相同,则根据SQL,将所述N个数据库的所述同一预设表项的内容数据更改为相同;
其中,所述预设表项为包括的内容数据属于配置信息的表项。
可选地,所述获取模块,还用于:获取所述保险数据在线上环境运行时的读取数据库和写入数据库;
所述比对模块,还用于判断读取数据库和写入数据库中同一表项的内容数据是否相同;
所述处理模块,还用于若所述比对模块判断出不相同,则根据SQL,将所述读取数据库和所述写入数据库的内容数据更改为相同。
第三方面,本申请实施例提供一种电子设备,包括:
存储器,用于存储程序指令;
处理器,用于调用并执行所述存储器中的程序指令,执行如本申请第一方面所述的数据处理方法。
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序被处理器执行时实现本申请第一方面所述的数据处理方法。
本申请提供的一种数据处理方法和装置,通过获取保险数据分别在N个不同测试环境下测试所需的数据库,判断每个所述数据库的每个表项的属性信息是否与其它N-1个数据库的表项的属性信息相同,若存在至少两个数据库的同一表项的属性信息不相同,则根据SQL,将所述至少两个数据库的所述同一表项的属性信息更改为相同,以使所述N个数据库的每个表项的属性信息相同,根据更改后的N个数据库,对所述保险数据在不同测试环境下进行测试。通过上述方式保证N个数据库的一致性,从而提高了通过这N个数据库对保险数据进行测试的测试结果的准确性。
附图说明
图1为本申请一实施例提供的数据处理方法的流程示意图;
图2为本申请另一实施例提供的数据处理方法的流程示意图;
图3为本申请另一实施例提供的数据处理方法的流程图;
图4为本申请另一实施例提供的数据处理方法的流程图;
图5为本申请一实施例提供的数据处理装置的结构示意图;
图6为本申请一实施例提供的电子设备的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
下面结合几个具体的实施例,对本发明的技术方案进行描述。
图1为本申请一实施例提供的数据处理方法的流程示意图,如图1所示,本实施例的方法可以包括:
S100、获取保险数据分别在N个不同测试环境下测试所需的数据库。N为大于等于2的整数,每个数据库包括至少一个表项。
本实施例中,获取保险数据在N个不同测试环境下测试所需的数据库,其中,每个所述数据库包括至少一个表项,表项可以表征业务配置通用信息,也可以表征保险业务的保险数据等,例如,保险数据可以为同一保险业务的保险数据,其中,所述保险业务的保险数据包括产品数据、保单数据、客户数据等。
例如,不同的测试环境包括保险数据的功能测试、性能测试以及自动化测试等。
S110、判断每个数据库的每个表项的属性信息是否与其它N-1个数据库的表项的属性信息相同。
S120、若存在至少两个数据库的同一表项的属性信息不相同,则根据SQL,将至少两个数据库的同一表项的属性信息更改为相同,以使N个数据库间的表项的属性信息相同。
对S100中获取到的每个数据库中的每个表项的属性信息进行判断,具体地,判断每个所述数据库的每个表项的属性信息是否与其它N-1个数据库的表项的属性信息相同;如果所述N个数据库中存在至少两个数据库的同一表项的属性信息不相同,则会生成修改表项属性信息的SQL语句,根据修改表项属性信息的SQL语句,将所述N个数据库中的该至少两个数据库的所述同一表项的属性信息更改为相同,使得所述N个数据库中的每个表项的属性信息相同,保证了所述N个数据库间的表项的属性信息的一致性。
S130、根据该N个数据库,对保险数据在不同测试环境下进行测试。
在获得更改后的N个数据库后,根据更改后的N个数据库,对所述保险数据在N个不同测试环境下进行测试,也就是,根据每个更改后的数据库,对该保险数据在与该数据库对应的测试环境下进行测试。
如果S110中判断每个数据库的每个表项的属性信息与其它N-1个数据库的表项的属性信息相同,则根据该N个数据库,对所述保险数据在N个不同测试环境下进行测试。
本实施例提供的数据处理方法,通过获取保险数据分别在N个不同测试环境下测试所需的数据库,判断每个所述数据库的每个表项的属性信息是否与其它N-1个数据库的表项的属性信息相同,若存在至少两个数据库的同一表项的属性信息不相同,则根据SQL,将所述至少两个数据库的所述同一表项的属性信息更改为相同,以使所述N个数据库的每个表项的属性信息相同,根据更改后的N个数据库,对所述保险数据在不同测试环境下进行测试。通过上述方式保证N个数据库的一致性,从而提高了通过这N个数据库对保险数据进行测试的测试结果的准确性。
图2为本申请另一实施例提供的数据处理方法的流程示意图,如图2所示,在图1所示实施例的基础上,所述的属性信息可以包括表项的名称,表项的名称例如可以用prpcmain来表示。相应地,S110的一种可能的实现方式可以包括S111-S112:
S111、判断目标表项的名称是否包括在其它N-1个数据库中。
所述目标数据库为所述N个数据库中的任一数据库,所述目标表项为所述目标数据库中的任一表项。以所述N个数据库中的任一数据库以及数据库的任一表项为例,判断N个数据库中除目标数据库之外的其它N-1个数据库的表项的名称是否与目标数据库的目标表项的名称相同,若N-1个数据库中的某一数据库的表项的名称与目标表项的名称相同,则说明该目标表项的名称包括在该数据库中,若N-1个数据库中的某一数据库的表项的名称与目标表项的名称不同,则说明该目标表项的名称不包括在该数据库中。因此,可以确定N-1个数据库中M个数据库不包括所述目标表项的名称,以及N-1个数据库中K个数据库包括所述目标表项的名称。其中,M为大于等于0且小于等于N-1的整数,K为大于等于0且小于等于N-1的整数,M+K等于N-1。
其中,在确定N-1个数据库中M个数据库不包括所述目标表项的名称之后,可以执行S112。
可选地,在N-1个数据库中K个数据库包括所述目标表项的名称之后,还可以执行S113。
S112、若M个数据库不包括目标表项的名称,则确定目标数据库与M个数据库的目标表项的属性信息不相同。
通过上述S112可以确定其它N-1个数据库中M个数据库不包括所述目标表项的名称,因此可以确定所述目标数据库与所述M个数据库的目标表项的属性信息不相同。
例如N等于2,两个不同测试环境下的数据库分别为数据库A和数据库B,如果数据库A中表项的名称prpcmain在数据库B中不存在,那么所述数据库A与数据库B的表项的属性信息不相同。
在一些实施例中,表项的属性信息还包括表项的结构信息,可选地,上述S120的一种可能的实现方式可以包括S121-S123:
S121、判断M个数据库中的表项是否包括目标表项的结构信息。
判断M个数据库中的各表项的结构信息是否与目标数据库的目标表项的结构信息相同,若M个数据库中的某一数据库的表项的结构信息与目标表项的结构信息相同,则说明该目标表项的结构信息包括在该数据库中,若M个数据库中的某一数据库的表项的结构信息与目标表项的结构信息不同,则说明该目标表项的结构信息不包括在该数据库中。因此,可以确定M个数据库中Q个数据库不包括所述目标表项的结构信息,以及M个数据库中M-Q个数据库包括所述目标表项的结构信息。其中,Q为大于等于0且小于等于M的整数。
S122、若目标表项的结构信息与Q个数据库的表项的结构信息不同,则生成建表项SQL语句,根据建表项SQL语句,在Q个数据库中建立目标表项。
本实施例中,若确定出上述M个数据库中Q个数据库不包括目标表项的结构信息,则生成建表项SQL语句,根据建表项SQL语句在上述Q个数据库分别生成所述目标表项,以保证Q个数据库与目标数据库中均存在相同的目标表项。
S123、若目标表项的结构信息与M-Q个数据库的表项的结构信息相同,则生成修改表名称SQL语句,根据修改表名称SQL语句,将目标数据库与Q个数据库的目标表项的名称更改为相同。
本实施例中,若确定出上述M个数据库中M-Q个数据库包括目标表项的结构信息,则生成修改表名称SQL语句,根据修改表名称SQL语句将上述Q个数据库中结构信息与目标表项相同的表项的名称修改为与目标表项的名称相同。
例如,所述N个不同测试环境下的数据库分别为数据库A、数据库B、C库以及D库,其中,数据库A中表项的名称prpcmain在数据库B中不存在,确定了数据库A与数据库B的表项的属性信息不相同。进而判断C库中的各表项的结构信息是否与A库中表项的结构信息相同,若C库中表项的结构信息与A库中表项的结构信息相同,则说明C库中表项的结构信息包括在A库中,若C库中的表项的结构信息与A库中表项的结构信息不同,则说明B库中表项的结构信息不包括在A库中。
若确定出上述A库中不包括C库中表项的结构信息,则生成建表项SQL语句,根据建表项SQL语句,生成所述D库,使得所述B库中表项的表名称与所述A库的表项名称prpcmain相同,以保证D库与所述A库中均存在相同的目标表项。
若确定出上述A库中包括C库中表项的结构信息,则生成修改表名称SQL语句,根据修改表名称SQL语句,对所述C库中的任一表项的表名称信息进行更改,使得所述C库中表项的表名称与所述A库的表项名称prpcmain相同。
本实施例中,通过判断表项的名称不同,进一步判断表项的结构信息是否相同,根据结构信息是否相同,分别采用不同的方式来将各数据库中的表项修改为一致。
在一些实施例中,表项的属性信息还包括表项的字段信息,在执行S111之后,若所述其它N-1个数据库中K个数据库中包括所述目标表项的名称,则还可以包括S113-S114:
S113、判断目标表项的字段信息与K个数据库的该名称对应的表项的字段信息是否相同。
本实施例中,若所述其它N-1个数据库中K个数据库中包括所述目标表项的名称,则判断目标数据库的目标表项的字段信息与该K个数据库中该名称对应的表项的字段信息是否相同,该名称对应的表项是指名称与目标表项的名称相同的表项。因此,可以确定K个数据库中L个数据库的该名称对应的表项与目标表项的字段信息不同,以及可以确定K个数据库中K-L个数据库的该名称对应的表项与目标表项的字段信息相同。L大于等于1且小于等于N-1的整数。
S114、若目标表项的字段信息与L个数据库的名称对应的表项的字段信息不同,则确定目标数据库与L个数据库的目标表项的属性信息不相同。
通过上述S113可以确定K个数据库中L个数据库的名称对应的表项的字段信息与目标表项的字段信息不相同,因此可以确定所述目标数据库与所述L个数据库的目标表项的属性信息不相同。
例如,所述N个不同测试环境下的数据库分别为数据库A、数据库B以及数据库E,其中,数据库A中表项的名称prpcmain在数据库B中存在,即所述数据库B包括所述表项的名称为prpcmain的表项属性信息,则判断数据库A中的名称为prpcmain的表项的名称为prpcmain的字段信息与数据库B中名称为prpcmain的表项该名称对应的表项的字段信息是否相同。若不相同,则确定数据库A的表项的属性信息与数据库B的表项的属性信息不相同。若相同,则确定数据库A的表项的属性信息与数据库B的表项的属性信息相同。因此,可以确定数据库A中的表项的名称为prpcmain的字段信息与数据库B中该名称对应的表项的字段信息不同,以及可以数据库A中的表项的名称为prpcmain的字段信息与数据库E中该名称对应的表项的字段信息相同。
在一些实施例中,在执行上述S114之后,相应地,上述S120的一种可能的实现方式可以包括S124:
S124、生成表字段更新SQL语句;根据所述表字段更新SQL语句,将所述目标数据库与所述L个数据库的目标表项的字段信息更改为相同。
本实施例中,若确定出上述K个数据库中L个数据库中表项的字段信息与目标表项的字段信息不相同,则生成表字段更新SQL语句,根据表字段更新SQL语句将所述目标数据库与所述L个数据库的目标表项的字段信息更改为相同。
本实施例中,通过判断表项的名称相同,进一步判断表项的字段信息是否相同,根据字段信息不相同,将各数据库中的表项修改为一致。
图3为本申请另一实施例提供的数据处理方法的流程图,如图3所示,本实施例的方法在上述图1或图2所示实施例的基础上,在执行上述S130之前还可以包括S140-S150。其中,图3是在图1的基础上示出的。
S140、判断N个数据库中同一预设表项的内容数据是否相同。
S150、若不相同,则根据SQL,将所述N个数据库的所述同一预设表项的内容数据更改为相同。
本实施例中,在获得更改后的N个数据库之后,由于更改后的N个数据库间的表项的属性信息相同,判断该各个数据库中同一预设表项的内容数据是否相同,其中,所述预设表项为包括的内容数据属于配置信息的表项。其中,该同一预设表项可以通过表项的名称来确定,即相同表项的名称可以认为是同一表项。例如:预设表项可以通过名称为prpd开头的名称来确定。
若确定N个数据库中同一预设表项的内容数据不完全相同,则根据SQL,将所述N个数据库的所述同一预设表项的内容数据更改为相同。例如:若N个数据库中某些数据库的同一预设表项的内容数据缺少,则生成***SQL语句,根据***SQL语句,将缺少的内容数据***上述数据库的该预设表项中,使得N个数据库的该预设表项的内容数据相同。
可选地,在执行S150之后,根据S150得到的N个数据库,对所述保险数据在不同测试环境下进行测试。
可选地,在执行S140之后,如果N个数据库中同一预设表项的内容数据相同,则根据S120得到的N个数据库,对所述保险数据在不同测试环境下进行测试。
例如,N个不同测试环境下有两个数据库A和数据库B,数据库A和数据库B中的表项的名称、表项的结构信息以及表项的字段信息都相同。假设数据库A库中预设表项的内容数据例如为:EAC产品补录天数120天之内可以补录。但是数据库B中的表项的内容数据为:起保时间距今天119天,保存投保单时提示的是EAC产品补录天数超过50天不允许补录。也就是说,开发的时候显示的表项内容数据不同,而实际情况是数据库B中的表项的内容数据是相同的,两个数据库中表项的内容数据都是EAC产品补录天数为120天,只是显示的提示不同,在这种情况下,功能测试人员测试时对测试数据库的表中数据以及程序方面不是很了解,功能测试人员遇到此类问题时都会认为是开发人员的程序错误,开发人员再去查错,这样对于开发和测试人员都增加了工作量,而且保险业务产品的上线时间也会随之推迟。但对于开发人员,这种业务场景经常变且提示的话语都是通过公共模版配置实现的,所以这些信息都是写在表中的。针对测试人员或开发人员有两种解决方式:1、在测试之前,将先测试数据库A与数据库B进行比较,然后将配置保持同步。这样测试人员测试时则不会出现配置数据不一致或缺少造成的表项的内容数据问题。2、在测试人员发现问题上报之前,先根据SQL,将所述数据库B的所述表项的内容数据更改为与所述数据库A的所述表项的内容数据相同。不论是哪种方式最终都会实现将配置修正正确。
本实施例中,由于本实施例不仅将N个数据库间的表项的属性信息更改为一致,还将N个数据库间的同一预设表项的内容数据更改一致。通过上述方式保证N个数据库的一致性,从而进一步提高了通过这N个数据库对保险数据进行测试的测试结果的准确性。
图4为本申请另一实施例提供的数据处理方法的流程图,如图4所示,本实施例的方法包括:
S410、获取所述保险数据在线上环境运行时的读取数据库和写入数据库。
本实施例中,获取保险数据在线上环境运行时的读取数据库和写入数据库,其中,每个所述数据库包括至少一个表项,表项可以表征业务配置通用信息,也可以表征保险业务数据等。读取数据库是为了减轻写入数据库的压力而存在的,保户查询保单以及外部***访问读取数据时,调用的都是读取数据库。写入数据库为保户在线上录单时,将保险业务数据记录存储到入数据库中。
S420、判断读取数据库和写入数据库中同一表项的内容数据是否相同。
本实施例中,判断所述保险数据在线上环境运行时的读取数据库和写入数据库中同一表项的内容数据是否相同。若所述读取数据库和写入数据库中同一表项的内容数据相同,则说明写入数据库中同一表项的内容数据没有被修改过;若所述读取数据库和写入数据库中同一表项的内容数据不相同,则说明写入数据库中同一表项的内容数据被修改过。
其中,在确定读取数据库和写入数据库中同一表项的内容数据不相同之后,可以执行S430。若确定读取数据库和写入数据库中同一表项的内容数据相同,则结束。
S430、若不相同,则根据SQL,将所述读取数据库和所述写入数据库的内容数据更改为相同。
本实施例中,若确定读取数据库和写入数据库中同一表项的内容数据不相同,则根据SQL,将所述读取数据库和所述写入数据库中同一表项的内容数据更改为相同。例如:若所述写入数据库中与所述读取数据库对应的同一表项的内容数据缺少,则生成***SQL语句,根据***SQL语句,将缺少的内容数据***上述读取数据库的表项中,使得所述写入数据库中与所述读取数据库对应的同一表项的内容数据相同。
可选地,本实施例的方法在执行上述S410之前,还可以包括:判断读取数据库和写入数据库间的表项的属性信息是否相同,若不相同,则根据SQL,将读取数据库和写入数据库间的表项的属性信息更改为一致。其中,本实施例的具体实现方案和技术效果可以参见上述不同测试环境下的数据库间的属性信息的处理过程,此处不再赘述。
需要说明的是,图4所示实施例可以与图1-图3任一实施例结合实施,也可以单独实施。
图5为本申请一实施例提供的数据处理装置的结构示意图,如图5所示,本实施例的装置500可以包括:获取模块510、比对模块520、处理模块530和测试模块540。
获取模块510,获取保险数据分别在N个不同测试环境下测试所需的数据库,N为大于等于2的整数,每个数据库包括至少一个表项。
比对模块520,判断每个所述数据库的每个表项的属性信息是否与其它N-1个数据库的表项的属性信息相同。
处理模块530,用于若比对模块520判断出存在至少两个数据库的同一表项的属性信息不相同,则根据结构化查询语言SQL,将所述至少两个数据库的所述同一表项的属性信息更改为相同,以使所述N个数据库的每个表项的属性信息相同。
测试模块540,根据更改后的N个数据库,对所述保险数据在不同测试环境下进行测试。
可选地,所述表项的属性信息包括表项的名称;
所述比对模块520,具体用于:
判断目标数据库的目标表项的名称是否包括在其它N-1个数据库中,所述目标数据库为所述N个数据库中的任一数据库,所述目标表项为所述目标数据库中的任一表项。
若所述其它N-1个数据库中M个数据库不包括所述目标表项的名称,则确定所述目标数据库与所述M个数据库的目标表项的属性信息不相同,M为大于等于1且小于等于N-1的整数。
可选地,所述表项的属性信息还包括表项的结构信息。
所述比对模块520,还用于:判断所述M个数据库中的表项是否包括所述目标数据库的所述目标表项的结构信息。
所述处理模块530,具体用于若所述比对模块520判断出所述目标数据库的所述目标表项的结构信息与所述M个数据库中Q个数据库的表项的结构信息不同,则生成建表项SQL语句,根据所述建表项SQL语句,在所述Q个数据库建立所述目标表项。
若所述比对模块520判断出所述目标数据库的所述目标表项的结构信息与所述M个数据库中M-Q个数据库的表项的结构信息相同,则生成修改表名称SQL语句,根据所述修改表名称SQL语句,将所述目标数据库与所述Q个数据库的目标表项的名称更改为相同。Q为大于等于0且小于等于M的整数。
可选地,所述表项的属性信息还包括表项的字段信息,所述比对模块520,还用于:若判断出所述其它N-1个数据库中K个数据库中包括所述目标表项的名称,K为大于等于1且小于等于N-1的整数,则判断所述目标数据库的所述目标表项的字段信息与所述K个数据库的所述名称对应的表项的字段信息是否相同。
若判断出所述目标数据库的所述目标表项的字段信息与所述K个数据库中L个数据库的所述名称对应的表项的字段信息不同,则确定所述目标数据库与所述L个数据库的目标表项的属性信息不相同。L为大于等于1且小于等于K的整数。
可选地,所述处理模块530,具体用于:
生成表字段更新SQL语句;
根据所述表字段更新SQL语句,将所述目标数据库与所述L个数据库的目标表项的字段信息更改为相同。
可选地,所述比对模块520,还用于:判断所述更改后的N个数据库中同一预设表项的内容数据是否相同;
所述处理模块530,还用于若所述比对模块520判断出不相同,则根据SQL,将所述N个数据库的所述同一预设表项的内容数据更改为相同;
其中,所述预设表项为包括的内容数据属于配置信息的表项。
可选地,所述获取模块510,还用于:获取所述保险数据在线上环境运行时的读取数据库和写入数据库;
所述比对模块520,还用于判断读取数据库和写入数据库中同一表项的内容数据是否相同;
所述处理模块530,还用于若所述比对模块520判断出不相同,则根据SQL,将所述读取数据库和所述写入数据库的内容数据更改为相同。
本实施例的装置,可以用于执行上述各方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图6为本申请一实施例提供的电子设备的结构示意图,如图6所示,本实施例的电子设备600可以包括:存储器610、处理器620。
存储器610,用于存储程序指令;
处理器620,用于调用并执行所述存储器中的程序指令,执行:
获取保险数据分别在N个不同测试环境下测试所需的数据库,N为大于等于2的整数,每个数据库包括至少一个表项。
判断每个所述数据库的每个表项的属性信息是否与其它N-1个数据库的表项的属性信息相同;若存在至少两个数据库的同一表项的属性信息不相同,则根据结构化查询语言SQL,将所述至少两个数据库的所述同一表项的属性信息更改为相同,以使所述N个数据库的每个表项的属性信息相同。
根据更改后的N个数据库,对所述保险数据在不同测试环境下进行测试。
可选地,所述表项的属性信息包括表项的名称;
所述处理器620,具体用于:
判断目标数据库的目标表项的名称是否包括在其它N-1个数据库中,所述目标数据库为所述N个数据库中的任一数据库,所述目标表项为所述目标数据库中的任一表项。
若所述其它N-1个数据库中M个数据库不包括所述目标表项的名称,则确定所述目标数据库与所述M个数据库的目标表项的属性信息不相同,M为大于等于1且小于等于N-1的整数。
可选地,所述表项的属性信息还包括表项的结构信息,所述处理器620,具体用于:判断所述M个数据库中的表项是否包括所述目标数据库的所述目标表项的结构信息。
若所述目标数据库的所述目标表项的结构信息与所述M个数据库中Q个数据库的表项的结构信息不同,则生成建表项SQL语句,根据所述建表项SQL语句,在所述Q个数据库建立所述目标表项。
若所述目标数据库的所述目标表项的结构信息与所述M个数据库中M-Q个数据库的表项的结构信息相同,则生成修改表名称SQL语句,根据所述修改表名称SQL语句,将所述目标数据库与所述Q个数据库的目标表项的名称更改为相同。Q为大于等于0且小于等于M的整数。
可选地,所述表项的属性信息还包括表项的字段信息,所述处理器620,还用于:
若所述其它N-1个数据库中K个数据库中包括所述目标表项的名称,K为大于等于1且小于等于N-1的整数,则判断所述目标数据库的所述目标表项的字段信息与所述K个数据库的所述名称对应的表项的字段信息是否相同。
若所述目标数据库的所述目标表项的字段信息与所述K个数据库中L个数据库的所述名称对应的表项的字段信息不同,则确定所述目标数据库与所述L个数据库的目标表项的属性信息不相同。L为大于等于1且小于等于K的整数。
可选地,所述处理器620,具体用于:
生成表字段更新SQL语句。
根据所述表字段更新SQL语句,将所述目标数据库与所述L个数据库的目标表项的字段信息更改为相同。
可选地,所述处理器620,还用于:
判断所述更改后的N个数据库中同一预设表项的内容数据是否相同;
若不相同,则根据SQL,将所述N个数据库的所述同一预设表项的内容数据更改为相同。
其中,所述预设表项为包括的内容数据属于配置信息的表项。
可选地,所述处理器620,还用于:
获取所述保险数据在线上环境运行时的读取数据库和写入数据库。
判断读取数据库和写入数据库中同一表项的内容数据是否相同。
若不相同,则根据SQL,将所述读取数据库和所述写入数据库的内容数据更改为相同。
本实施例的电子设备,可以用于执行上述各方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:只读内存(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (9)
1.一种数据处理方法,其特征在于,包括:
获取保险数据分别在N个不同测试环境下测试所需的数据库,N为大于等于2的整数,每个数据库包括至少一个表项;
判断每个所述数据库的每个表项的属性信息是否与其它N-1个数据库的表项的属性信息相同;
若存在至少两个数据库的同一表项的属性信息不相同,则根据结构化查询语言SQL,将所述至少两个数据库的所述同一表项的属性信息更改为相同,以使所述N个数据库间的表项的属性信息相同;
根据更改后的N个数据库,对所述保险数据在不同测试环境下进行测试;
所述表项的属性信息包括表项的名称;
所述判断每个所述数据库的每个表项的属性信息是否与其它N-1个数据库的表项的属性信息相同,包括:
判断目标数据库的目标表项的名称是否包括在其它N-1个数据库中,所述目标数据库为所述N个数据库中的任一数据库,所述目标表项为所述目标数据库中的任一表项;
若所述其它N-1个数据库中M个数据库不包括所述目标表项的名称,则确定所述目标数据库与所述M个数据库的目标表项的属性信息不相同,M为大于等于1且小于等于N-1的整数。
2.根据权利要求1所述的方法,其特征在于,所述表项的属性信息还包括表项的结构信息,所述根据结构化查询语言SQL,更改所述至少两个数据库的所述同一表项的属性信息,包括:
判断所述M个数据库中的表项是否包括所述目标数据库的所述目标表项的结构信息;
若所述目标数据库的所述目标表项的结构信息与所述M个数据库中Q个数据库的表项的结构信息不同,则生成建表项SQL语句,根据所述建表项SQL语句,在所述Q个数据库建立所述目标表项;
若所述目标数据库的所述目标表项的结构信息与所述M个数据库中M-Q个数据库的表项的结构信息相同,则生成修改表名称SQL语句,根据所述修改表名称SQL语句,将所述目标数据库与所述Q个数据库的目标表项的名称更改为相同;
Q为大于等于0且小于等于M的整数。
3.根据权利要求1所述的方法,其特征在于,所述表项的属性信息还包括表项的字段信息,所述方法还包括:
若所述其它N-1个数据库中K个数据库中包括所述目标表项的名称,K为大于等于1且小于等于N-1的整数,则判断所述目标数据库的所述目标表项的字段信息与所述K个数据库的所述名称对应的表项的字段信息是否相同;
若所述目标数据库的所述目标表项的字段信息与所述K个数据库中L个数据库的所述名称对应的表项的字段信息不同,则确定所述目标数据库与所述L个数据库的目标表项的属性信息不相同;
L为大于等于1且小于等于K的整数。
4.根据权利要求3所述的方法,其特征在于,所述根据结构化查询语言SQL,更改所述至少两个数据库的所述同一表项的属性信息,包括:
生成表字段更新SQL语句;
根据所述表字段更新SQL语句,将所述目标数据库与所述L个数据库的目标表项的字段信息更改为相同。
5.根据权利要求1所述的方法,其特征在于,还包括:
判断所述更改后的N个数据库中同一预设表项的内容数据是否相同;
若不相同,则根据SQL,将所述N个数据库的所述同一预设表项的内容数据更改为相同;
其中,所述预设表项为包括的内容数据属于配置信息的表项。
6.根据权利要求1所述的方法,其特征在于,还包括:
获取所述保险数据在线上环境运行时的读取数据库和写入数据库;
判断读取数据库和写入数据库中同一表项的内容数据是否相同;
若不相同,则根据SQL,将所述读取数据库和所述写入数据库的内容数据更改为相同。
7.一种数据处理装置,其特征在于,包括:
获取模块,获取保险数据分别在N个不同测试环境下测试所需的数据库,N为大于等于2的整数,每个数据库包括至少一个表项;
比对模块,判断每个所述数据库的每个表项的属性信息是否与其它N-1个数据库的表项的属性信息相同;
处理模块,用于若所述比对模块判断出存在至少两个数据库的同一表项的属性信息不相同,则根据结构化查询语言SQL,将所述至少两个数据库的所述同一表项的属性信息更改为相同,以使所述N个数据库间每个表项的属性信息相同;
测试模块,根据更改后的N个数据库,对所述保险数据在不同测试环境下进行测试;
所述表项的属性信息包括表项的名称;
所述比对模块,具体用于:
判断目标数据库的目标表项的名称是否包括在其它N-1个数据库中,所述目标数据库为所述N个数据库中的任一数据库,所述目标表项为所述目标数据库中的任一表项;
若所述其它N-1个数据库中M个数据库不包括所述目标表项的名称,则确定所述目标数据库与所述M个数据库的目标表项的属性信息不相同,M为大于等于1且小于等于N-1的整数。
8.一种电子设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用并执行所述存储器中的程序指令,执行如权利要求1至6中任一项所述的数据处理方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911166541.0A CN110990267B (zh) | 2019-11-25 | 2019-11-25 | 数据处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911166541.0A CN110990267B (zh) | 2019-11-25 | 2019-11-25 | 数据处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110990267A CN110990267A (zh) | 2020-04-10 |
CN110990267B true CN110990267B (zh) | 2023-09-05 |
Family
ID=70086527
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911166541.0A Active CN110990267B (zh) | 2019-11-25 | 2019-11-25 | 数据处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110990267B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113672639B (zh) * | 2021-08-27 | 2024-04-26 | 成都长城开发科技股份有限公司 | 多类型数据库表结构对比方法、***、设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6507842B1 (en) * | 2000-07-10 | 2003-01-14 | National Instruments Corporation | System and method for importing and exporting test executive values from or to a database |
CN101079004A (zh) * | 2007-06-22 | 2007-11-28 | 中兴通讯股份有限公司 | 一种实现测试脚本管理和分发的方法及装置 |
CN105354144A (zh) * | 2015-12-01 | 2016-02-24 | 北京邮电大学 | 业务支撑***信息模型一致性自动化测试方法与*** |
CN107229650A (zh) * | 2016-03-25 | 2017-10-03 | 阿里巴巴集团控股有限公司 | 测试方法及装置 |
CN109558153A (zh) * | 2018-11-26 | 2019-04-02 | 中国银行股份有限公司 | 版本一致性确定方法、装置及*** |
CN109726136A (zh) * | 2019-01-28 | 2019-05-07 | 上海达梦数据库有限公司 | 数据库的测试方法、装置、设备和存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070156712A1 (en) * | 2005-12-28 | 2007-07-05 | Wasserman Brian J | Semantic grammar and engine framework |
US8392418B2 (en) * | 2009-06-25 | 2013-03-05 | University Of Tennessee Research Foundation | Method and apparatus for predicting object properties and events using similarity-based information retrieval and model |
-
2019
- 2019-11-25 CN CN201911166541.0A patent/CN110990267B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6507842B1 (en) * | 2000-07-10 | 2003-01-14 | National Instruments Corporation | System and method for importing and exporting test executive values from or to a database |
CN101079004A (zh) * | 2007-06-22 | 2007-11-28 | 中兴通讯股份有限公司 | 一种实现测试脚本管理和分发的方法及装置 |
CN105354144A (zh) * | 2015-12-01 | 2016-02-24 | 北京邮电大学 | 业务支撑***信息模型一致性自动化测试方法与*** |
CN107229650A (zh) * | 2016-03-25 | 2017-10-03 | 阿里巴巴集团控股有限公司 | 测试方法及装置 |
CN109558153A (zh) * | 2018-11-26 | 2019-04-02 | 中国银行股份有限公司 | 版本一致性确定方法、装置及*** |
CN109726136A (zh) * | 2019-01-28 | 2019-05-07 | 上海达梦数据库有限公司 | 数据库的测试方法、装置、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110990267A (zh) | 2020-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8311794B2 (en) | Testing executable logic | |
US11042464B2 (en) | Log record analysis based on reverse engineering of log record formats | |
US10642722B2 (en) | Regression testing of an application that uses big data as a source of data | |
CN111209206B (zh) | 一种软件产品的自动测试方法及*** | |
US11347619B2 (en) | Log record analysis based on log record templates | |
CN110018954B (zh) | 代码质量检测、代码检测质量的评估方法、装置及设备 | |
CN108319711A (zh) | 数据库的事务一致性测试方法、装置、存储介质及设备 | |
CN110990267B (zh) | 数据处理方法和装置 | |
CN110046086B (zh) | 用于测试的期望数据生成方法及装置和电子设备 | |
CN117171030A (zh) | 软件运行环境检测方法、装置、设备及存储介质 | |
CN116662197A (zh) | 一种接口自动化测试方法、***、计算机和可读存储介质 | |
CN110673997A (zh) | 磁盘故障的预测方法及装置 | |
US11176022B2 (en) | Health diagnostics and analytics for object repositories | |
CN109840213B (zh) | 一种gui测试的测试数据创建方法、装置、终端及存储介质 | |
CN112699129A (zh) | 一种数据处理***、方法及装置 | |
CN112232768A (zh) | 一种基于全生命周期管理的商户数据处理方法 | |
CN111767222A (zh) | 数据模型的验证方法、装置、电子设备、存储介质 | |
US12039297B2 (en) | Code inspection interface providing method and apparatus for implementing the method | |
CN113704103B (zh) | 测试用例推荐方法、装置、介质及电子设备 | |
CN110765020B (zh) | 基于领域知识的测试用例生成方法 | |
CN112099838A (zh) | 确定版本差异的方法、装置及存储介质 | |
WO2022086549A1 (en) | Integration tests using mocked results from recorded unit test scenarios | |
CN115328801A (zh) | 数据库访问日志生成方法、装置、存储介质及计算机设备 | |
CN116737573A (zh) | 一种大数据平台的数据测试方法、装置、设备及介质 | |
CN115757472A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |