数据差异化比较方法、系统和存储介质与流程

文档序号:24640674发布日期:2021-04-09 20:53阅读:78来源:国知局
数据差异化比较方法、系统和存储介质与流程

本发明涉及数据处理技术领域,尤其是一种数据差异化比较方法、系统和存储介质。



背景技术:

在软件开发过程中,涉及计算机数据的传输格式种类繁多,目前数据比对主要分为两种方式:键值比对和顺序比对。

其中,键值比对是对解析后的数据进行键名和键值进行对比,将差异化的数据通过添加颜色、背景等手段进行标记以达到比对的目的。这种比对方法不能深层次嵌套比对,只能够比对简单键值对数据,数据比对可定制性较低,比对效率不高。

顺序比对是逐行读取并按行进行比较,将相同行的差异化数据通过颜色、背景等标记加以区分。这种比对方法不能按乱序的方式进行对比,只能手动调整文本顺序再进行比较,这样既不方便又不够灵活,影响软件开发效率。

综上可知,目前的数据比对方式存在不能乱序对比或者深层次对比的问题。



技术实现要素:

本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明提出一种数据差异化比较方法、系统和存储介质,其无需关注文本顺序即能深层次进行数据比对。

根据本发明的第一方面实施例的一种数据差异化比较方法,包括以下步骤:

获取数据源集合和接口请求数据集合,所述数据源集合包括第一关键字和第一接口数据,所述接口请求数据集合包括第二关键字和第二接口数据;

在所述数据源集合内提取与所述第二关键字相同的所述第一关键字对应的第一接口数据,将所述第一关键字对应的第一接口数据保存到待比对数据集合;

循环比较所述第二接口数据与待比对数据集合内的数据的位置关系,采用预设处理方式对满足预设条件的键或键值进行处理。

根据本发明实施例的一种数据差异化比较方法,至少具有如下有益效果:本实施例通过先在数据源集合内提取与第二关键字相同的第一关键字对应的第一接口数据,将第一接口数据保存到待比对数据集合,接着循环比较第二接口数据与待比对数据集合内的数据的位置关系,并采用预设处理方式对满足预设条件的键或键值进行处理,从而使得整个数据比较过程,无需关注数据内的顺序,即能完成深层次数据比较过程。

根据本发明的一些实施例,所述循环比较所述第二接口数据与待比对数据集合内的数据的位置关系,采用预设处理方式对满足预设条件的键或键值进行处理,包括获取步骤和处理步骤;

所述获取步骤包括:

获取所述第二接口数据的键;

所述处理步骤包括第一判断步骤、第二判断步骤和第三判断步骤:

其中,所述第一判断步骤为:

判断所述第二接口数据的键是否满足第一预设要求,若是,执行第二判断步骤,反之,则将所述第二接口数据的键序列化并置换所述第二接口数据的键;所述第一预设要求为所述第二接口数据的键位于所述待比对数据集合;

所述第二判断步骤为:

判断所述第二接口数据的键的键值是否满足第二预设要求,若是,则将所述第二接口数据的键值序列化并置换所述键值,反之,执行第三判断步骤;所述第二预设要求为所述第二接口数据的键与所述待比对数据集合的键相同且键值不同;

所述第三判断步骤包括:

当所述第二接口数据的键和键值均与所述待比对数据集合的键和键值相同且均满足第一预设类型,执行所述获取步骤;

当所述第二接口数据的键和键值均与所述待比对数据集合的键和键值相同且均满足第二预设类型,循环遍历所述第二接口数据的键值并执行所述获取步骤。

根据本发明的一些实施例,所述将所述第二接口数据的键序列化并置换所述第二接口数据的键这一步骤或者所述将所述第二接口数据的键值序列化并置换所述键值这一步骤后,还包括以下步骤:

采用预设标记方式标记所述第二接口数据的键或键值。

根据本发明的一些实施例,在所述获取数据源集合这一步骤后,还包括以下步骤:

采用节流方式对所述数据源集合内的数据进行分片处理。

根据本发明的一些实施例,在所述获取接口请求数据集合这一步骤后,还包括以下步骤:

采用异步方式对所述接口请求数据集合内的数据进行分片处理。

根据本发明的一些实施例,在所述获取数据源集合和接口请求数据集合这一步骤后,还包括以下步骤:

对所述数据源集合内的数据和接口请求数据集合内的数据进行格式化。

根据本发明的第二方面实施例的一种数据差异化比较系统,包括:

获取模块,用于获取数据源集合和接口请求数据集合,所述数据源集合包括第一关键字和第一接口数据,所述接口请求数据集合包括第二关键字和第二接口数据;

提取模块,用于在所述数据源集合内提取与所述第二关键字相同的所述第一关键字对应的第一接口数据,将所述第一关键字对应的第一接口数据保存到待比对数据集合;

比较模块,用于循环比较所述第二接口数据与待比对数据集合内的数据的位置关系,采用预设处理方式对满足预设条件的键或键值进行处理。

根据本发明实施例的一种数据差异化比较系统,至少具有如下有益效果:本实施例通过提取模块先在数据源集合内提取与第二关键字相同的第一关键字对应的第一接口数据,接着采用比较模块循环比较第二接口数据与待比对数据集合内的数据的位置关系,并采用预设处理方式对满足预设条件的键或键值进行处理,从而使得整个数据比较过程,无需关注数据内的顺序,即能完成深层次数据比较过程。

根据本发明的一些实施例,所述比较模块包括获取子模块和处理子模块;

所述获取子模块用于获取所述第二接口数据的键;

所述处理子模块用于执行第一判断步骤、第二判断步骤和第三判断步骤;

其中,所述第一判断步骤为:

判断所述第二接口数据的键是否满足第一预设要求,若是,执行第二判断步骤,反之,则将所述第二接口数据的键序列化并置换所述第二接口数据的键;所述第一预设要求为所述第二接口数据的键位于所述待比对数据集合;

所述第二判断步骤为:

判断所述第二接口数据的键的键值是否满足第二预设要求,若是,则将所述第二接口数据的键值序列化并置换所述键值,反之,执行第三判断步骤;所述第二预设要求为所述第二接口数据的键与所述待比对数据集合的键相同且键值不同;

所述第三判断步骤包括:

当所述第二接口数据的键和键值均与所述待比对数据集合的键和键值相同且均满足第一预设类型,返回所述获取子模块;

当所述第二接口数据的键和键值均与所述待比对数据集合的键和键值相同且均满足第二预设类型,循环遍历所述第二接口数据的键值并返回所述获取子模块。

根据本发明的第三方面实施例的一种数据差异化比较系统,包括:

至少一个存储器,用于存储程序;

至少一个处理器,用于加载所述程序以执行第一方面实施例提供的数据差异化比较方法。

根据本发明实施例的一种数据差异化比较系统,至少具有如下有益效果:本实施例通过至少一个处理器加载程序后执行第一方面实施例提供的数据差异化比较方法,从而使得整个数据比较过程,无需关注数据内的顺序,即能完成深层次数据比较过程。

根据本发明的第四方面实施例的一种存储介质,其中存储有处理器可执行的程序,所述处理器可执行的程序在由处理器执行时用于执行第一方面实施例提供的数据差异化比较方法。

根据本发明实施例的一种存储介质,至少具有如下有益效果:本实施例通过处理器在执行加载的程序时执行第一方面实施例提供的数据差异化比较方法,从而使得整个数据比较过程,无需关注数据内的顺序,即能完成深层次数据比较过程。

本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

下面结合附图和实施例对本发明做进一步的说明,其中:

图1为本发明实施例一种数据差异化比较方法的流程图;

图2为本发明实施例一种数据差异化比较方法在应用过程的流程图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。

在本发明的描述中,若干的含义是一个以上,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。

本发明的描述中,除非另有明确的限定,设置、安装、连接等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本发明中的具体含义。

本发明的描述中,参考术语“一个实施例”、“一些实施例”、“示意性实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

参照图1,本发明实施例提供了一种数据差异化比较方法,本实施可应用于处理端,该处理端可以是计算机处理器、平台对应的处理器或者服务器;也可以是几个不同类型服务器的组合。

具体地,本实施例包括以下步骤:

s1、获取数据源集合和接口请求数据集合。在实际应用过程中,该数据源集合内的数据可以是在交互界面上手动输入的数据或者是通过某些软件或者系统自动导入的数据。接口请求数据集合内的数据是处理端对接口请求进行相应拦截处理后得到的数据,该数据是后续处理过程中需要呈现差异的那部分数据。

在一些实施例中,当获取到数据源集合内的数据,处理端看采用节流的方式对数据源集合内的数据进行分片展示,以降低带宽的消耗,加快接口数据的响应速度。

在一些实施例中,当获取到接口请求数据集合内的数据,处理端对拦截的接口请求数据集合内的数据可采用异步的方式进行分片展示。

在一些实施例中,当获取到数据源集合内的数据和接口请求数据集合内的数据后,还可以对数据源集合内的数据和接口请求数据集合内的数据进行格式化处理,以在处理过程中清晰的呈现原始数据结构,从而更加清晰的显示数据的差异。

s2、在数据源集合内提取与第二关键字相同的第一关键字对应的第一接口数据,将第一关键字对应的第一接口数据保存到待比对数据集合。具体地,数据源集合包括第一关键字和第一接口数据,接口请求数据集合包括第二关键字和第二接口数据。在本步骤中,若在数据源集合内提取到与第二关键字相同的第一关键字对应的第一接口数据,则执行步骤s3;若在数据源集合内没有提取到与第二关键字相同的第一关键字对应的第一接口数据,则生成提示信息,该提示信息可以是“未找到要对比的信息”。

在处理过程中,由于数据源集合内包括所有接口关键字和接口数据,即包含当前需要进行数据差异比较的接口关键字和接口数据,也包含当前不需要进行数据差异比较的接口关键字和接口数据,导致其数据量量非常大。因此,为节省后续处理过程中数据差异比较的工作量,本实施例通过从数据源集合内筛选出与第二关键字相同的且与第一关键字对应的接口数据,并将该数据保存到待比对数据集合,以加快后续处理过程,提高处理效率。

s3、循环比较第二接口数据与待比对数据集合内的数据的位置关系,采用预设处理方式对满足预设条件的键或键值进行处理。具体地,预设处理方式包括对显示的数据进行不同颜色显示、对显示的数据采用不同类型的字体显示。预设条件包括第一预设要求和第二预设要求。其中,第一预设要求为第二接口数据的键位于待比对数据集合;第二预设要求为第二接口数据的键与待比对数据集合的键相同且键值不同。

在一些实施例中,步骤s3包括获取步骤和处理步骤。

具体地,获取步骤为:获取第二接口数据的键。处理步骤包括第一判断步骤、第二判断步骤和第三判断步骤。

其中,第一判断步骤为判断第二接口数据的键是否满足第一预设要求,若是,执行第二判断步骤;反之,则将第二接口数据的键序列化并置换第二接口数据的键,其中,置换是指将一种元素把某个综合体中的另一个元素替换出来,在本实施例中可以是使用带语义的标签且包裹着第二接口数据序列化后的键a替换键a本身。

第二判断步骤为判断第二接口数据的键的键值是否满足第二预设要求,若是,则将第二接口数据的键值序列化并置换键值,反之,执行第三判断步骤。

第三判断步骤包括以下步骤:

当第二接口数据的键和键值均与待比对数据集合的键和键值相同且均满足第一预设类型,执行获取步骤;

当第二接口数据的键和键值均与待比对数据集合的键和键值相同且均满足第二预设类型,循环遍历第二接口数据的键值并执行获取步骤。

在上述实施例中,第一预设类型可以为object类型;第二预设类型可以为array类型。

本实施例通过递进的方式的判断接口数据的不同信息后,在对接口数据进行相应的处理,从而使得数据比较过程中,无需关注数据内的顺序,即能完成深层次数据比较过程。

此外,将上述实施例应用于具体操作过程中时,如图2所示,其具体包括以下步骤:

步骤一、获取数据源,将数据源保存在集合a中。该数据源为开发过程中所定接口的参数,可以是在交互界面输入的数据,也可以是自动导入的数据。每一条数据均包含两个字段:接口关键字和接口参数数据。

步骤二、查询传输时拦截的接口数据,并将拦截的接口数据保存到集合b。子啊本步骤中,通过后台拦截的方式将拦截的接口数据发送到可视化界面,其中,每条信息中包含两个字段:接口关键字和接口参数数据。

步骤三、从集合a中提取关键字与集合b中关键字相同的数据,将该数据保存到集合c。

步骤四、从集合b中选择一条数据,判断该数据的键是否存在集合c中,若不存在,则对选择的数据的键序列化并置换该键,同时,将数据显示方式标记为预设颜色,例如红色;若存在,进入步骤五。

步骤五、判断步骤四选择的数据的键和键值类型与集合c中的键和键值是否均相同,若键相同而键值类型不相同,则将步骤四选择的数据的键序列化并置换该键值,同时将数据显示方式标记为预设颜色,例如红色;若键相同、键值类型也相同且键和键值均为object类型,则执行步骤四;若键相同、键值类型也相同且键和键值均为array类型,则循环遍历该键值并执行步骤四;若键相同、键值类型也相同且均为其他类型,则结束数据比较过程。其他类型为除开object类型和array类型外的类型。

通过上述的应用过程可知,上述实施例可以不用关注数据内的顺序,即能完成深层次数据比较过程。

本发明实施例提供了一种数据差异化比较系统,包括:

获取模块,用于获取数据源集合和接口请求数据集合,所述数据源集合包括第一关键字和第一接口数据,所述接口请求数据集合包括第二关键字和第二接口数据;

提取模块,用于在所述数据源集合内提取与所述第二关键字相同的所述第一关键字对应的第一接口数据,将所述第一关键字对应的第一接口数据保存到待比对数据集合;

比较模块,用于循环比较所述第二接口数据与待比对数据集合内的数据的位置关系,采用预设处理方式对满足预设条件的键或键值进行处理。

本发明方法实施例的内容均适用于本系统实施例,本系统实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法达到的有益效果也相同。

本发明实施例提供了一种据差异化比较系统,包括:

至少一个存储器,用于存储程序;

至少一个处理器,用于加载所述程序以执行图1所示的数据差异化比较方法。

本发明方法实施例的内容均适用于本系统实施例,本系统实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法达到的有益效果也相同。

此外,本发明实施例还提供了一种存储介质,其中存储有处理器可执行的程序,所述处理器可执行的程序在由处理器执行时用于执行图1所示的数据差异化比较方法。

上面结合附图对本发明实施例作了详细说明,但是本发明不限于上述实施例,在所属技术领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。此外,在不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1