【技术实现步骤摘要】
对比方法和相关产品
[0001]本申请涉及计算机领域,尤其涉及一种对比方法和相关产品。
技术介绍
[0002]两个或者多个对象之间的对比,目前主流的做法是深度比较,即深度优先搜索遍历对象的每一层得出差异(diff)。然而,对多个对象逐一进行深度比较,会有大量计算冗余,造成时间和空间的浪费。因此需要研究时间或者空间开销更少的对比多个对象的方法。
技术实现思路
[0003]本申请实施例公开了一种对比方法和相关产品。
[0004]第一方面,本申请实施例提供了一种对比方法,该方法包括:使用公共对象确定多个待对比对象对应的目标键;所述多个待对比对象由一个或多个文件中的多个原始待对比对象扁平化得到,所述多个待对比对象与所述多个原始待对比对象一一对应,所述多个待对比对象中至少两个待对比对象包含的所述目标键的值不同,或者,所述多个待对比对象中至少一个待对比对象不包含所述目标键;所述多个待对比对象中的每个待对比对象包含一个或多个键,每个键对应一个或多个值;输出所述多个待对比对象的对比结果,所述对比结果包含所述多个待对比 ...
【技术保护点】
【技术特征摘要】
1.一种对比方法,其特征在于,包括:使用公共对象确定多个待对比对象对应的目标键;所述多个待对比对象由一个或多个文件中的多个原始待对比对象扁平化得到,所述多个待对比对象与所述多个原始待对比对象一一对应,所述多个待对比对象中至少两个待对比对象包含的所述目标键的值不同,或者,所述多个待对比对象中至少一个待对比对象不包含所述目标键;所述多个待对比对象中的每个待对比对象包含一个或多个键,每个键对应一个或多个值;输出所述多个待对比对象的对比结果,所述对比结果包含所述多个待对比对象中每个待对比对象包含的所述目标键的值。2.根据权利要求1所述的方法,其特征在于,所述使用公共对象确定多个待对比对象对应的目标键包括:先后基于所述多个待对比对象中每个待对比对象包含的各键和各键的值,更新所述公共对象中的键和/或所述公共对象中的键对应的记数值;所述公共对象中的每个键对应一个记数值;基于所述公共对象中的各键对应的记数值,确定所述目标键;所述公共对象中的所述目标键对应的记数值不等于所述待对比对象的个数。3.根据权利要求2所述的方法,其特征在于,所述先后使用所述多个待对比对象中每个待对比对象包含的各键和各键的值,更新所述公共对象中的键和/或所述公共对象中的键对应的记数值包括:在所述多个待对比对象中的第一待对比对象包含的第一键的值与所述公共对象中的所述第一键的值相同的情况下,将所述公共对象中的所述第一键对应的记数值加一;在所述多个待对比对象中的所述第一待对比对象包含的所述第一键的值与所述公共对象中的所述第一键的值不同的情况下,将所述公共对象中的所述第一键对应的记数值更新为一。4.根据权利要求3所述的方法,其特征在于,所述第一待对比对象包含的所述第一键的值与所述公共对象中的所述第一键的值不同,所述方法还包括:将所述公共对象中的所述第一键的值更新为所述第一待对比对象包含的所述第一键的值。5.根据权利要求3或4所述的方法,其特征在于,在将所述公共对象中的所述第一键对应的记数值加一之前,所述方法还包括:在所述公共对象中未包含所述多个待对比对象中的第二待对比对象包含的所述第一键的情况下,在所述公共对象中创建所述第一键,并将所述公共对象中的所述第一键的值设置为所述...
【专利技术属性】
技术研发人员:曾天,杨阳,胡世昌,石明康,杨冠姝,
申请(专利权)人:上海商汤科技开发有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。