【技术实现步骤摘要】
键值对差异对比方法及其装置、设备、介质
[0001]本申请涉及数据对比
,尤其涉及一种键值对差异对比方法及其相应的装置、键值对差异对比设备、计算机可读存储介质,以及计算机程序产品。
技术介绍
[0002]在程序的开发过程中,开发人员开发程序中新的接口后,通常会将旧接口所响应的请求推送至新接口中,对比新旧接口响应同一请求后的响应结果差异,以测试新接口是否达到预期;响应结果中的数据大部分为Json结构体数据,即键值对数据结构,在进行键值对数据差异对比时,通常会使用现有的键值对对比方法进行差异对比,但现有的键值对对比方法中通常使用暴力算法进行键值对对比,即枚举键值对数据中各键值对进行差异对比,使得键值对差异对比所消耗的时间复杂度较高,且现有的键值对差异对比通常忽略键值对的数据类型,简单地对比键值对双方的值数据的差异,无法由开发人员自定义不同数据类型或键值对的差异对比规则,使得差异对比结果冗余且不准确,影响开发人员的测试效率。
技术实现思路
[0003]本申请的目的在于解决上述问题而提供一种键值对差异对比方法及 ...
【技术保护点】
【技术特征摘要】
1.一种键值对差异对比方法,其特征在于,包括如下步骤:获取第一数据树和第二数据树,每个数据树的各个节点存储单个键值对,下级节点的键值对属于其上级节点的键值对的成员数据,且所述第一数据树及第二数据树中各个节点有对应的对比规则;合并所述第一数据树与第二数据树两者的树结构,生成合并树结构,所述合并树结构中各节点存储着其键所对应的对比规则;基于所述合并树结构的节点路径及对其对比规则包含的匹配算法及相似度算法,将所述第一数据树中与第二数据树的彼此同层节点的键值对进行交叉对比,根据匹配算法匹配出同层中由两个键值对组成的对比组及其差异类型,且根据相似度算法计算各对比组的相似度;从所述合并树结构的底层起,确定出同层中差异类型为值差异的对比组,基于该些对比组的相似度,计算出该些对比组的上级节点之间的总相似度,将总相似度较高的上级节点转移至差异树中;将其余具有差异类型的键值对对应存储至所述差异树中,输出对比结果,对比结果包含差异树各节点及其相对应的差异类型。2.根据权利要求1所述的方法,其特征在于,合并所述第一数据树与第二数据树两者的树结构,生成合并树结构,所述合并树结构中各节点存储着其键所对应的对比规则,包括如下步骤:合并所述第一数据树及第二数据树中各节点的节点路径,生成合并该些节点的节点路径的并集的合并树结构;确定出自定义对比规则集中各自定义对比规则所属的目标节点,向该些目标节点中存储对应的所述自定义对比规则的规则标识;获取预设的默认对比规则,向所述合并树中未具有所述自定义对比规则的节点存储所述默认对比规则的规则标识。3.根据权利要求1所述的方法,其特征在于,基于所述合并树结构的节点路径及对其对比规则包含的匹配算法及相似度算法,将所述第一数据树中与第二数据树的彼此同层节点的键值对进行交叉对比,根据匹配算法匹配出同层中由两个键值对组成的对比组及其差异类型,且根据相似度算法计算各对比组的相似度,包括如下步骤:基于所述合并树的节点路径,判断待对比节点是否具有下级节点,若具有,则将该待对比节点的下级节点作为待对比节点;查询所述待对比节点所对应的所述第一数据树的第一键值对在所述第二数据树的同层级中是否存在同键的第二键值对,若不存在,则将该键值对的差异类型确定为移除类型;若所述第一键值存在对应的各所述第二键值对,则基于该待对比节点的对比规则中的匹配算法及相似度算法,确定所述第一键值对与各第二键值对的差异类型及相似度;若所述待对比节点为仅对应所述第二数据树的键值对,则将该键值对的差异类型确定为新增类型。4.根据权利要求1所述的方法,其特征在于,从所述合并树结构的底层起,确定出同层中差异类型为值差异的对比组,基于该些对比组的相似度,计算出该些对比组的上级节点之间的总相似度,将总相似度较高的上级节点转移至差异树中,包括如下步骤:
确定出当前层级中差异类型为值差异的对比组各自的上级节点,将该些上级节点作为待对比上级节点;确定第一待对比上级节点与第二待对比上级节点双方具有同键的键值对,获取该些键值对之间的相似度,基于该些相似度计算所述第一待对比上级节点与第二待...
【专利技术属性】
技术研发人员:肖文君,
申请(专利权)人:广州市百果园网络科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。