CN113760911A - 索引差异测试方法及系统 - Google Patents
索引差异测试方法及系统 Download PDFInfo
- Publication number
- CN113760911A CN113760911A CN202111020382.0A CN202111020382A CN113760911A CN 113760911 A CN113760911 A CN 113760911A CN 202111020382 A CN202111020382 A CN 202111020382A CN 113760911 A CN113760911 A CN 113760911A
- Authority
- CN
- China
- Prior art keywords
- index
- difference
- data
- old
- new
- 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
- 238000012360 testing method Methods 0.000 title claims abstract description 99
- 238000000034 method Methods 0.000 claims description 22
- 230000009467 reduction Effects 0.000 claims description 7
- 238000004458 analytical method Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 6
- 238000010998 test method Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2272—Management thereof
-
- 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)
- Software Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种索引差异测试方法,该方法包括:当数据引擎版本更新时,对更新前后的数据索引基于主键进行比对得到差异项;基于相同主键下的各个字段分别进行比对得到差异字段;根据两轮比对的结果综合分析得到对所述更新前后的数据索引的差异测试结果。本申请还公开了一种索引差异测试系统、电子装置和计算机可读存储介质。由此,能够通过自动化测试程序自动对新旧两个版本的数据索引进行差异测试,找出区别,大量节省了比对时间,并且可以有效降低出错率。
Description
技术领域
本申请涉及数据分析技术领域,尤其涉及一种索引差异测试方法、系统、电子装置及计算机可读存储介质。
背景技术
由于广告投放数据库太大,通常几百万条,广告引擎会查询有效广告数据并保存到本地成为广告索引。广告单元为广告数据存放的子集,一个广告单元为广告索引其中的一条。当广告引擎有新功能时会进行版本更新,此时需要判断新版本索引与旧版本索引是否有差异,这种测试叫差异测试(Diff测试)。
目前,针对广告索引的差异测试只有通过随机抽取广告单元,手工对比新老版本的广告单元这样的测试方法。但是,这种测试方法的速度很慢,耗费时间多,且遗漏错误的几率大。
需要说明的是,上述内容并不用于限制申请保护范围。
发明内容
本申请的主要目的在于提出一种索引差异测试方法、系统、电子装置及计算机可读存储介质,旨在解决如何以高效且准确的方式进行广告索引的新老版本的差异测试的问题。
为实现上述目的,本申请实施例提供了一种索引差异测试方法,所述方法包括:
当数据引擎版本更新时,对更新前后的数据索引基于主键进行比对得到差异项;
基于相同主键下的各个字段分别进行比对得到差异字段;
根据两轮比对的结果综合分析得到对所述更新前后的数据索引的差异测试结果。
可选地,所述对更新前后的数据索引基于主键进行比对得到差异项包括:
获取更新前后对指定数据的第一旧索引和第一新索引;
分别计算所述第一旧索引和所述第一新索引的主键集合,得到第一集合和第二集合;
比对所述第二集合和所述第一集合的区别,得到所述差异项。
可选地,所述基于相同主键下的各个字段分别进行比对得到差异字段包括:
根据所述差异项规整所述第一旧索引和所述第一新索引,得到第二旧索引和第二新索引;
对所述第二新索引和所述第二旧索引在相同主键下逐字段进行比对,得到所述差异字段。
可选地,所述根据所述差异项规整所述第一旧索引和所述第一新索引包括:
去除所述第一旧索引和所述第一新索引中的所述差异项;
基于去除之后剩余的主键,按照相同的主键顺序对所述第一旧索引和所述第一新索引中每条索引进行排序。
可选地,所述根据两轮比对的结果综合分析得到对所述更新前后的数据索引的差异测试结果包括:
综合所述差异项和所述差异字段,得到所述第一新索引和所述第一旧索引之间的差异数据。
可选地,所述方法还包括:
根据前置条件对所述差异测试结果进行降噪处理。
可选地,所述根据前置条件对所述差异测试结果进行降噪处理包括:
设置所述数据引擎版本更新的前置条件,其中所述前置条件为更新之后增加或删除的字段;
根据所述前置条件从所述差异测试结果中去除对应字段,得到最终的差异数据。
此外,为实现上述目的,本申请实施例还提供一种索引差异测试系统,所述系统包括:
比对模块,用于当数据引擎版本更新时,对更新前后的数据索引基于主键进行比对得到差异项,以及基于相同主键下的各个字段分别进行比对得到差异字段;
分析模块,用于根据两轮比对的结果综合分析得到对所述更新前后的数据索引的差异测试结果。
为实现上述目的,本申请实施例还提供一种电子装置,所述电子装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的索引差异测试程序,所述索引差异测试程序被所述处理器执行时实现如上述的索引差异测试方法。
为实现上述目的,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有索引差异测试程序,所述索引差异测试程序被处理器执行时实现如上述的索引差异测试方法。
本申请实施例提出的索引差异测试方法、系统、电子装置及计算机可读存储介质,能够通过自动化测试程序自动对新旧两个版本的数据索引进行差异测试,找出区别,大量节省了比对时间,并且可以有效降低出错率。
附图说明
图1为实现本申请各个实施例的一种应用环境架构图;
图2为本申请第一实施例提出的一种索引差异测试方法的流程图;
图3为图2中步骤S20的细化流程示意图;
图4为图2中步骤S22的细化流程示意图;
图5为图4中步骤S220的细化流程示意图;
图6为本申请第二实施例提出的一种索引差异测试方法的流程图;
图7为本申请特定具体实施例提出的一种索引差异测试方法的流程图;
图8A为所述具体实施例中的第一旧索引和第一新索引的一种具体实例的示意图;
图8B为所述具体实施例中的第二旧索引和第二新索引的一种具体实例的示意图;
图8C为根据图8B得到的差异字段的一种具体实例的示意图;
图8D为将图8C中的所述差异字段进行降噪后的一种具体实例的示意图;
图9为本申请第三实施例提出的一种电子装置的硬件架构示意图;
图10为本申请第四实施例提出的一种索引差异测试系统的模块示意图;
图11为本申请第五实施例提出的一种索引差异测试系统的模块示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,在本申请实施例中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
请参阅图1,图1为实现本申请各个实施例的一种应用环境架构图。本申请可应用于包括,但不仅限于数据库2、数据引擎4、服务端6的应用环境中。
其中,所述数据库2用于保存数据。在本申请各个实施例中,以广告数据为例进行说明。
所述数据引擎(广告引擎)4用于查询所述数据库2中的有效(广告)数据并保存到本地成为数据索引(广告索引)。
所述服务端6用于当所述数据引擎4版本更新时,对更新前后的数据索引基于主键及相同主键下的各个字段分别进行比对,然后根据两轮比对的结果综合分析得到对所述更新前后的数据索引的差异测试结果。所述服务端6可以是机架式服务器、刀片式服务器、塔式服务器或机柜式服务器等计算设备,可以是独立的服务器,也可以是多个服务器所组成的服务器集群。
值得注意的是,所述数据库2和/或所述数据引擎4可以集成在所述服务端6中,也可以位于其他独立的电子设备中,在此不做限制。
实施例一
如图2所示,为本申请第一实施例提出的一种索引差异测试方法的流程图。可以理解,本方法实施例中的流程图不用于对执行步骤的顺序进行限定。根据需要,还可以对该流程图中的部分步骤进行添加或删减。下面以所述服务端6作为执行主体对该方法进行说明。
该方法包括以下步骤:
S20,当数据引擎版本更新时,对更新前后的数据索引基于主键进行比对得到差异项。
所述数据索引由几个字段的数据组成,每条数据索引都拥有唯一的主键。
数据引擎(数据索引)会进行版本更新,版本更新会对数据引擎(数据索引)中字段进行删除、增加或更新,在数据引擎版本更新之后,需要确定变更内容是否符合预期,之前是通过人工抽样核对,而本实施例可以进行自动测试。
具体而言,进一步参阅图3,为上述步骤S20的细化流程示意图。可以理解,该流程图不用于对执行步骤的顺序进行限定。根据需要,还可以对该流程图中的部分步骤进行添加或删减。在本实施例中,所述步骤S20具体包括:
S200,获取更新前后对指定数据的第一旧索引和第一新索引。
当有新版本的数据引擎时,会构建出新版本的广告索引。假设出现新旧两个数据索引(第一旧索引和第一新索引),由多个字段构成,每条数据索引包括一个唯一的主键。为了进行差异测试,首先需要获取到所述第一旧索引和所述第一新索引。
S202,分别计算所述第一旧索引和所述第一新索引的主键集合,得到第一集合和第二集合。
例如,假设所述第一集合为(1,2,3,4,5),所述第二集合为(1,2,3,4)。
S204,比对所述第二集合和所述第一集合的区别,得到所述差异项。
所述差异项为区别主键(第一集合有但第二集合中没有或第一集合中没有但第二集合中有)对应的数据索引。
例如,比对上述第一集合(1,2,3,4,5)和第二集合(1,2,3,4),得到第一集合中多出了主键5,因此主键5对应的那一条数据索引即为所述差异项。
回到图2,S22,基于相同主键下的各个字段分别进行比对得到差异字段。
具体而言,进一步参阅图4,为上述步骤S22的细化流程示意图。在本实施例中,所述步骤S22具体包括:
S220,根据所述差异项规整所述第一旧索引和所述第一新索引,得到第二旧索引和第二新索引。
具体而言,进一步参阅图5,为上述步骤S220的细化流程示意图。在本实施例中,所述步骤S220具体包括:
S2200,去除所述第一旧索引和所述第一新索引中的所述差异项。
在去掉所述差异项后,所述第一旧索引和所述第一新索引中剩余的主键相同。
S2202,基于去除之后剩余的主键,按照相同的主键顺序对所述第一旧索引和所述第一新索引中每条索引进行排序。
由于所述第一旧索引和所述第一新索引在去掉所述差异项后剩余的主键相同,可以基于所述剩余主键按照相同的顺序排列所述第一旧索引和所述第一新索引中的每条数据索引,排序后得到对应的第二旧索引和第二新索引。例如,假设所述主键为一种编号,则可以按照所述编号的顺序排列所述第一旧索引和所述第一新索引中的每条数据索引。
回到图4,S222,对所述第二新索引和第二旧索引在相同主键下逐字段进行比对,得到差异字段。
在所述第二旧索引和所述第二新索引中,每个相同主键下的每条数据索引均可以包括多个不同的字段。在基于主键进行比对并去除所述差异项后,还需要在相同主键下针对每个字段对所述第二新索引和所述第二旧索引进行比对,得到每个主键下的差异字段。
所述差异字段主要是指所述第二旧索引和所述第二新索引中仅有一个包含或者对应的具体数据不同的字段。例如,假设在主键1下,所述第二旧索引的相应数据索引中没有字段A,但所述第二新索引的相应数据索引中有字段A,则所述字段A为差异字段。又例如,假设在主键1下,所述第二旧索引的相应数据索引中字段C的数值为50,但所述第二新索引的相应数据索引中字段C的数值为100,则所述字段C也为差异字段。
回到图2,S24,根据两轮比对的结果综合分析得到对所述更新前后的数据索引的差异测试结果。
在本实施例中,综合所述差异项和所述差异字段,可以得到所述第一新索引和所述第一旧索引之间的差异数据。例如,综合上述步骤S204中得到的差异项(主键5对应的整条数据索引)和步骤S222中得到的差异字段(主键1下的字段A和字段C),则可以得到所述第一新索引和所述第一旧索引之间的差异数据(主键5对应的整条数据索引及主键1下的字段A和字段C)。
本实施例提出的索引差异测试方法,可以通过自动化测试程序自动对新旧两个版本的数据索引进行差异测试,找出区别,大量节省了比对时间,并且可以有效降低出错率。
实施例二
如图6所示,为本申请第二实施例提出的一种索引差异测试方法的流程图。在第二实施例中,所述索引差异测试方法在上述第一实施例的基础上,还包括步骤S30和S38。通过所述步骤S30和S38,可以根据前置条件对所述差异测试结果进行降噪处理。可以理解,本方法实施例中的流程图不用于对执行步骤的顺序进行限定。根据需要,还可以对该流程图中的部分步骤进行添加或删减。
该方法包括以下步骤:
S30,设置所述数据引擎版本更新的前置条件。
数据引擎(数据索引)会进行版本更新,版本更新会对数据引擎(数据索引)中字段进行删除、增加或更新,在数据引擎版本更新之后,需要确定变更内容是否符合预期,之前是通过人工抽样核对,而本实施例可以进行自动测试。
所述前置条件为更新之后增加或删除的字段。例如,旧版本的数据索引中没有字段A,而新版本的数据索引中增加了字段A。所述前置条件会使新旧版本的数据索引产生差异字段,但这种差异字段是由于版本更新时对索引字段的调整产生的,而不属于变更内容不符合预期的情况。
在进行差异测试之前先设置所述前置条件,然后在测试得到的差异数据中剔除所述前置条件对应的字段,可以避免所述前置条件对差异测试结果的影响,使所述差异测试结果更加准确和实用。
S32,当数据引擎版本更新时,对更新前后的数据索引基于主键进行比对得到差异项。
所述数据索引由几个字段的数据组成,每条数据索引都拥有唯一的主键。
当有新版本的数据引擎时,会构建出新版本的广告索引。假设出现新旧两个数据索引(第一旧索引和第一新索引),由多个字段构成,每条数据索引包括一个唯一的主键。为了进行差异测试,首先需要获取到所述第一旧索引和所述第一新索引。
然后,对所述第一新索引和所述第一旧索引的主键进行比对,得到差异项。所述差异项可以通过分别计算所述第一旧索引和所述第一新索引的主键集合,得到第一集合和第二集合,并比对所述第二集合和所述第一集合的区别得到。所述差异项为区别主键(第一集合有但第二集合中没有或第一集合中没有但第二集合中有)对应的数据索引。
S34,基于相同主键下的各个字段分别进行比对得到差异字段。
具体地,根据所述差异项规整所述第一旧索引和所述第一新索引,得到第二旧索引和第二新索引。所述规整包括:去除所述第一旧索引和所述第一新索引中的所述差异项;基于去除之后剩余的主键,按照相同的主键顺序对所述第一旧索引和所述第一新索引中每条索引进行排序。
在所述第二旧索引和所述第二新索引中,每个相同主键下的每条数据索引均可以包括多个不同的字段。在基于主键进行比对并去除所述差异项后,还需要在相同主键下针对每个字段对所述第二新索引和所述第二旧索引进行比对,得到每个主键下的差异字段。所述差异字段主要是指所述第二旧索引和所述第二新索引中仅有一个包含或者对应的具体数据不同的字段。
S36,根据两轮比对的结果综合分析得到对所述更新前后的数据索引的差异测试结果。
在本实施例中,综合所述差异项和所述差异字段,可以得到所述第一新索引和所述第一旧索引之间的差异数据。例如,综合差异项(主键5对应的整条数据索引)和差异字段(主键1下的字段A和字段C),则可以得到所述第一新索引和所述第一旧索引之间的差异数据(主键5对应的整条数据索引及主键1下的字段A和字段C)。
S38,根据所述前置条件从所述差异测试结果中去除对应字段,得到最终的差异数据。
由于所述前置条件引起的差异字段不属于变更内容不符合预期的情况,因此还需要从所述差异测试结果中去除所述前置条件对应的字段,从而对所述差异测试结果进行降噪,得到所述第一新索引和所述第一旧索引之间最终的差异数据。例如,所述前置条件为新版本的数据索引中增加了字段A,则将上一步骤得到的差异数据(主键5对应的整条数据索引及主键1下的字段A和字段C)中字段A相关内容去掉,得到最终的差异数据为:主键5对应的整条数据索引及主键1下的字段C。
值得注意的是,在可选实施例中,上述步骤S38也可以在对所述第二新索引和第二旧索引在相同主键下逐字段进行比对,得到差异字段之后执行。也就是说,在逐字段比对得到所述差异字段后,先根据所述前置条件将相应字段从所述差异字段中去除,然后再综合所述差异项和去除后的差异字段得到所述第一新索引和所述第一旧索引之间的差异测试结果。该可选实施例每一步骤的具体过程与上述步骤描述相似,在此不再赘述。
本实施例提出的索引差异测试方法,可以通过自动化测试程序自动对新旧两个版本的数据索引进行差异测试,找出区别,大量节省了比对时间,并且可以有效降低出错率。并且,还可以在进行差异测试之前先设置本次版本更新的前置条件,然后在测试得到的差异数据中剔除所述前置条件对应的字段,避免所述前置条件对差异测试结果的影响,使所述差异测试结果更加准确和实用。
为了更详尽的对该方法的上述各步骤进行解释说明,以下以特定的具体实施例(广告索引)为例进行说明。本领域技术人员当知,下述具体实施例的内容并不用于限制本发明的发明思想,本领域技术人员可以轻易依据下述实施例具体描述内容进行适当的内容发散和扩展。
如图7所示,为本申请特定具体实施例提出的一种索引差异测试方法的流程图。在该具体实施例中,所述索引差异测试方法包括以下步骤:
S400,设置广告引擎版本更新的前置条件。
例如,假设更新后增加了促销字段。
S402,获取更新前后对广告数据的第一旧索引和第一新索引。
当有新版本的广告引擎时,会构建出新版本的广告索引。假设出现新旧两个广告索引(第一旧索引和第一新索引),由多个字段(为方便,简略为主键、名称、出价、促销)构成。如图8A所示,为所述第一旧索引和所述第一新索引的一种具体实例的示意图。
S404,对所述第一新索引和所述第一旧索引的主键进行比对,得到差异项。
分别计算所述第一旧索引和所述第一新索引的主键集合,得到所述第一旧索引对应的第一集合为(1,2,3,4,5),所述第一新索引对应的第二集合为(1,2,3,4)。然后比对所述第二集合和所述第一集合的区别,得到所述差异项为主键5对应的整条广告索引,即(主键:5,名称:可乐广告,出价:60)。
S406,根据所述差异项规整所述第一旧索引和所述第一新索引,得到第二旧索引和第二新索引。
首先去除所述第一旧索引和所述第一新索引中的所述差异项,则两个索引中均只剩下主键1-4。然后基于去除之后剩余的主键,按照相同的主键顺序对所述第一旧索引和所述第一新索引中每条索引进行排序。也就是说,按照主键1-4的顺序对所述第一旧索引和所述第一新索引中每条广告索引进行排序,得到所述第二旧索引和第二新索引。如图8B所示,为所述第二旧索引和所述第二新索引的一种具体实例的示意图。图8B中的所述第二旧索引和所述第二新索引为根据图8A中的所述第一旧索引和所述第一新索引得到。
S408,对所述第二新索引和第二旧索引在相同主键下逐字段进行比对,得到差异字段。
基于主键1-4,在相同主键下针对每个字段对所述第二新索引和所述第二旧索引进行比对,得到每个主键下的差异字段。如图8C所示,为根据图8B得到的所述差异字段的一种具体实例的示意图。在图8C中,主键1下的差异字段为(促销:0),主键2下的差异字段为(促销:1),主键3下的差异字段为(促销:0),主键4下的差异字段为(出价:150,促销:1)。
S410,根据所述前置条件从所述差异字段中去除对应字段。
由于所述前置条件引起的差异字段不属于变更内容不符合预期的情况,因此还需要去除所述前置条件对应的字段,从而对差异测试结果进行降噪。在本具体实施例中,所述前置条件为更新后增加了促销字段,因此需要从图8C的差异字段中将所述促销字段相关内容都去除。如图8D所示,为将图8C中的所述差异字段进行降噪后的一种具体实例的示意图。在图8D中,降噪后的差异字段仅剩下主键4下的(出价:150)。
S412,综合所述差异项和降噪后的所述差异字段,可以得到所述第一新索引和所述第一旧索引之间的差异测试结果。
结合上述步骤S404和S410的结果,得到所述第一新索引和所述第一旧索引之间最终的差异数据为(主键:5,名称:可乐广告,出价:60)和(主键:4,出价:150)。
本实施例提出的推广数据创建方法,可以通过自动化测试程序自动将广告索引归类排序,先比对出广告单元(主键)上的差异,再比对出广告单元内部(相同主键下的)字段的差异,然后综合两轮比对的结果得到新旧版本的广告索引的差异测试结果,大量节省了比对时间,并且可以有效降低出错率。并且,还可以在进行差异测试之前先设置本次版本更新的前置条件,然后在测试得到的差异数据中剔除所述前置条件对应的字段,避免所述前置条件对差异测试结果的影响,使所述差异测试结果更加准确和实用。
实施例三
如图9所示,为本申请第三实施例提出一种电子装置20的硬件架构示意图。本实施例中,所述电子装置20可包括,但不仅限于,可通过系统总线相互通信连接的存储器21、处理器22、网络接口23。需要指出的是,图9仅示出了具有组件21-23的电子装置20,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。在本实施例中,所述电子装置20可以是所述服务端6。
所述存储器21至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器21可以是所述电子装置20的内部存储单元,例如该电子装置20的硬盘或内存。在另一些实施例中,所述存储器21也可以是所述电子装置20的外部存储设备,例如该电子装置20上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,所述存储器21还可以既包括所述电子装置20的内部存储单元也包括其外部存储设备。本实施例中,所述存储器21通常用于存储安装于所述电子装置20的操作系统和各类应用软件,例如索引差异测试系统60的程序代码等。此外,所述存储器21还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器22在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器22通常用于控制所述电子装置20的总体操作。本实施例中,所述处理器22用于运行所述存储器21中存储的程序代码或者处理数据,例如运行所述索引差异测试系统60等。
所述网络接口23可包括无线网络接口或有线网络接口,该网络接口23通常用于在所述电子装置20与其他电子设备之间建立通信连接。
实施例四
如图10所示,为本申请第四实施例提出一种索引差异测试系统60的模块示意图。所述索引差异测试系统60可以被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本申请实施例。本申请实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,以下描述将具体介绍本实施例各程序模块的功能。
在本实施例中,所述索引差异测试系统60包括:
比对模块600,用于当数据引擎版本更新时,对更新前后的数据索引基于主键进行比对得到差异项,以及基于相同主键下的各个字段分别进行比对得到差异字段。
所述数据索引由几个字段的数据组成,每条数据索引都拥有唯一的主键。
数据引擎(数据索引)会进行版本更新,版本更新会对数据引擎(数据索引)中字段进行删除、增加或更新,在数据引擎版本更新之后,需要确定变更内容是否符合预期,之前是通过人工抽样核对,而本实施例可以进行自动测试。
在本实施例中,所述比对模块600的比对过程具体包括:
(1)获取更新前后对指定数据的第一旧索引和第一新索引。
当有新版本的数据引擎时,会构建出新版本的广告索引。假设出现新旧两个数据索引(第一旧索引和第一新索引),由多个字段构成,每条数据索引包括一个唯一的主键。为了进行差异测试,首先需要获取到所述第一旧索引和所述第一新索引。
(2)对所述第一新索引和所述第一旧索引的主键进行比对,得到差异项。
首先,分别计算所述第一旧索引和所述第一新索引的主键集合,得到第一集合和第二集合。然后比对所述第二集合和所述第一集合的区别,得到所述差异项。所述差异项为区别主键(第一集合有但第二集合中没有或第一集合中没有但第二集合中有)对应的数据索引。
(3)根据所述差异项规整所述第一旧索引和所述第一新索引,得到第二旧索引和第二新索引。
首先,去除所述第一旧索引和所述第一新索引中的所述差异项。在去掉所述差异项后,所述第一旧索引和所述第一新索引中剩余的主键相同。
然后,基于去除之后剩余的主键,按照相同的主键顺序对所述第一旧索引和所述第一新索引中每条索引进行排序。
由于所述第一旧索引和所述第一新索引在去掉所述差异项后剩余的主键相同,可以基于所述剩余主键按照相同的顺序排列所述第一旧索引和所述第一新索引中的每条数据索引,排序后得到对应的第二旧索引和第二新索引。例如,假设所述主键为一种编号,则可以按照所述编号的顺序排列所述第一旧索引和所述第一新索引中的每条数据索引。
(4)对所述第二新索引和第二旧索引在相同主键下逐字段进行比对,得到差异字段。
在所述第二旧索引和所述第二新索引中,每个相同主键下的每条数据索引均可以包括多个不同的字段。在基于主键进行比对并去除所述差异项后,还需要在相同主键下针对每个字段对所述第二新索引和所述第二旧索引进行比对,得到每个主键下的差异字段。
所述差异字段主要是指所述第二旧索引和所述第二新索引中仅有一个包含或者对应的具体数据不同的字段。
分析模块602,用于根据两轮比对的结果综合分析得到对所述更新前后的数据索引的差异测试结果。
在本实施例中,综合所述差异项和所述差异字段,可以得到所述第一新索引和所述第一旧索引之间的差异数据。
本实施例提出的索引差异测试系统,可以通过自动化测试程序自动对新旧两个版本的数据索引进行差异测试,找出区别,大量节省了比对时间,并且可以有效降低出错率。
实施例五
如图11所示,为本申请第五实施例提出一种索引差异测试系统60的模块示意图。在本实施例中,所述索引差异测试系统60除了包括第四实施例中的所述比对模块600、分析模块602之外,还包括设置模块604、去除模块606。
所述设置模块604,用于设置所述数据引擎版本更新的前置条件。
所述前置条件为更新之后增加或删除的字段。例如,旧版本的数据索引中没有字段A,而新版本的数据索引中增加了字段A。所述前置条件会使新旧版本的数据索引产生差异字段,但这种差异字段是由于版本更新时对索引字段的调整产生的,而不属于变更内容不符合预期的情况。
所述去除模块606,用于根据所述前置条件从所述差异测试结果中去除对应字段,得到最终的差异数据。
由于所述前置条件引起的差异字段不属于变更内容不符合预期的情况,因此还需要从所述差异测试结果中去除所述前置条件对应的字段,从而对所述差异测试结果进行降噪,得到所述第一新索引和所述第一旧索引之间最终的差异数据。
本实施例提出的索引差异测试系统,可以在进行差异测试之前先设置本次版本更新的前置条件,然后在测试得到的差异数据中剔除所述前置条件对应的字段,避免所述前置条件对差异测试结果的影响,使所述差异测试结果更加准确和实用。
实施例六
本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有索引差异测试程序,所述索引差异测试程序可被至少一个处理器执行,以使所述至少一个处理器执行如上述的索引差异测试方法的步骤。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
显然,本领域的技术人员应该明白,上述的本申请实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请实施例不限制于任何特定的硬件和软件结合。
以上仅为本申请实施例的优选实施例,并非因此限制本申请实施例的专利范围,凡是利用本申请实施例说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请实施例的专利保护范围内。
Claims (10)
1.一种索引差异测试方法,其特征在于,所述方法包括:
当数据引擎版本更新时,对更新前后的数据索引基于主键进行比对得到差异项;
基于相同主键下的各个字段分别进行比对得到差异字段;
根据两轮比对的结果综合分析得到对所述更新前后的数据索引的差异测试结果。
2.根据权利要求1所述的索引差异测试方法,其特征在于,所述对更新前后的数据索引基于主键进行比对得到差异项包括:
获取更新前后对指定数据的第一旧索引和第一新索引;
分别计算所述第一旧索引和所述第一新索引的主键集合,得到第一集合和第二集合;
比对所述第二集合和所述第一集合的区别,得到所述差异项。
3.根据权利要求2所述的索引差异测试方法,其特征在于,所述基于相同主键下的各个字段分别进行比对得到差异字段包括:
根据所述差异项规整所述第一旧索引和所述第一新索引,得到第二旧索引和第二新索引;
对所述第二新索引和所述第二旧索引在相同主键下逐字段进行比对,得到所述差异字段。
4.根据权利要求3所述的索引差异测试方法,其特征在于,所述根据所述差异项规整所述第一旧索引和所述第一新索引包括:
去除所述第一旧索引和所述第一新索引中的所述差异项;
基于去除之后剩余的主键,按照相同的主键顺序对所述第一旧索引和所述第一新索引中每条索引进行排序。
5.根据权利要求2至4任一项所述的索引差异测试方法,其特征在于,所述根据两轮比对的结果综合分析得到对所述更新前后的数据索引的差异测试结果包括:
综合所述差异项和所述差异字段,得到所述第一新索引和所述第一旧索引之间的差异数据。
6.根据权利要求1至5任一项所述的索引差异测试方法,其特征在于,所述方法还包括:
根据前置条件对所述差异测试结果进行降噪处理。
7.根据权利要求6所述的索引差异测试方法,其特征在于,所述根据前置条件对所述差异测试结果进行降噪处理包括:
设置所述数据引擎版本更新的前置条件,其中所述前置条件为更新之后增加或删除的字段;
根据所述前置条件从所述差异测试结果中去除对应字段,得到最终的差异数据。
8.一种索引差异测试系统,其特征在于,所述系统包括:
比对模块,用于当数据引擎版本更新时,对更新前后的数据索引基于主键进行比对得到差异项,以及基于相同主键下的各个字段分别进行比对得到差异字段;
分析模块,用于根据两轮比对的结果综合分析得到对所述更新前后的数据索引的差异测试结果。
9.一种电子装置,其特征在于,所述电子装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的索引差异测试程序,所述索引差异测试程序被所述处理器执行时实现如权利要求1至7中任一项所述的索引差异测试方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有索引差异测试程序,所述索引差异测试程序被处理器执行时实现如权利要求1至7中任一项所述的索引差异测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111020382.0A CN113760911A (zh) | 2021-09-01 | 2021-09-01 | 索引差异测试方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111020382.0A CN113760911A (zh) | 2021-09-01 | 2021-09-01 | 索引差异测试方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113760911A true CN113760911A (zh) | 2021-12-07 |
Family
ID=78792298
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111020382.0A Pending CN113760911A (zh) | 2021-09-01 | 2021-09-01 | 索引差异测试方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113760911A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102184190A (zh) * | 2011-04-19 | 2011-09-14 | 北京神州数码思特奇信息技术股份有限公司 | 数据比对方法 |
JP2013105358A (ja) * | 2011-11-15 | 2013-05-30 | Japan Research Institute Ltd | プログラムの新旧バージョンに対する差分比較テストシステム及びテスト方法 |
CN108681504A (zh) * | 2018-04-13 | 2018-10-19 | 深圳壹账通智能科技有限公司 | 自动化测试方法、测试服务器及计算机可读存储介质 |
CN111339100A (zh) * | 2020-02-28 | 2020-06-26 | 中国工商银行股份有限公司 | 数据核对方法及装置 |
-
2021
- 2021-09-01 CN CN202111020382.0A patent/CN113760911A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102184190A (zh) * | 2011-04-19 | 2011-09-14 | 北京神州数码思特奇信息技术股份有限公司 | 数据比对方法 |
JP2013105358A (ja) * | 2011-11-15 | 2013-05-30 | Japan Research Institute Ltd | プログラムの新旧バージョンに対する差分比較テストシステム及びテスト方法 |
CN108681504A (zh) * | 2018-04-13 | 2018-10-19 | 深圳壹账通智能科技有限公司 | 自动化测试方法、测试服务器及计算机可读存储介质 |
CN111339100A (zh) * | 2020-02-28 | 2020-06-26 | 中国工商银行股份有限公司 | 数据核对方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110309125B (zh) | 数据校验方法、电子装置及存储介质 | |
CN108228799B (zh) | 对象索引信息的存储方法及装置 | |
US20230205755A1 (en) | Methods and systems for improved search for data loss prevention | |
CN112307747A (zh) | 车辆配件检索方法、装置、计算机设备及可读存储介质 | |
CN110968478A (zh) | 日志采集方法、服务器及计算机存储介质 | |
CN107368513B (zh) | 客户端数据库更新的方法及装置 | |
CN112650909A (zh) | 产品展示方法、装置、电子设备及存储介质 | |
CN115237444A (zh) | 基于版本号的并发控制方法、装置、设备及存储介质 | |
CN109408640B (zh) | 日志分类方法、装置及存储介质 | |
EP2752778B1 (en) | Method and system for creating and maintaining unique data repository | |
CN114139161A (zh) | 一种批量检测漏洞的方法、装置、电子设备及介质 | |
CN110362540B (zh) | 一种数据存储、访客数获取方法及装置 | |
CN113760911A (zh) | 索引差异测试方法及系统 | |
CN112579591A (zh) | 数据校验方法、装置、电子设备及计算机可读存储介质 | |
CN113535206B (zh) | 多版本代码升级方法及系统 | |
CN112817931B (zh) | 一种增量版本文件的生成方法及装置 | |
CN114238349A (zh) | 数据校验方法、装置、设备及介质 | |
US20180101562A1 (en) | Metadata Validation Tool | |
CN111858609A (zh) | 区块链模糊查询方法及装置 | |
CN113780950A (zh) | 数据处理方法、装置、服务器和可读存储介质 | |
CN112380820A (zh) | 数据自动回填方法、装置、电子设备及计算机存储介质 | |
CN111427571A (zh) | 一种数据校验方法和装置 | |
CN111581207B (zh) | Azkaban项目的文件生成方法、装置及终端设备 | |
CN111400309B (zh) | 数据更新方法、电子装置及可读存储介质 | |
CN112181995B (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 |