CN113806310A - 对比方法和相关产品 - Google Patents
对比方法和相关产品 Download PDFInfo
- Publication number
- CN113806310A CN113806310A CN202111068627.7A CN202111068627A CN113806310A CN 113806310 A CN113806310 A CN 113806310A CN 202111068627 A CN202111068627 A CN 202111068627A CN 113806310 A CN113806310 A CN 113806310A
- Authority
- CN
- China
- Prior art keywords
- compared
- objects
- key
- keys
- common object
- 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
- 238000000034 method Methods 0.000 title claims abstract description 72
- 238000012545 processing Methods 0.000 claims description 111
- 238000004590 computer program Methods 0.000 claims description 7
- 230000006870 function Effects 0.000 description 10
- 238000012733 comparative method Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000012549 training Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 210000001072 colon Anatomy 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000001343 mnemonic effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 239000002699 waste material Substances 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/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
- G06F8/315—Object-oriented languages
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请实施例公开了一种对比方法和相关产品,该方法包括:使用公共对象确定多个待对比对象对应的目标键;该多个待对比对象由一个或多个文件中的多个原始待对比对象扁平化得到,该多个待对比对象与该多个原始待对比对象一一对应,该多个待对比对象中至少两个待对比对象包含的目标键的值不同,或者,该多个待对比对象中至少一个待对比对象不包含目标键;该多个待对比对象中的每个待对比对象包含一个或多个键,每个键对应一个或多个值;输出该多个待对比对象的对比结果,该对比结果包含该多个待对比对象中每个待对比对象包含的目标键的值。本申请实施例中,使用公共对象确定多个待对比对象对应的目标键,可以减少空间开销。
Description
技术领域
本申请涉及计算机领域,尤其涉及一种对比方法和相关产品。
背景技术
两个或者多个对象之间的对比,目前主流的做法是深度比较,即深度优先搜索遍历对象的每一层得出差异(diff)。然而,对多个对象逐一进行深度比较,会有大量计算冗余,造成时间和空间的浪费。因此需要研究时间或者空间开销更少的对比多个对象的方法。
发明内容
本申请实施例公开了一种对比方法和相关产品。
第一方面,本申请实施例提供了一种对比方法,该方法包括:使用公共对象确定多个待对比对象对应的目标键;所述多个待对比对象由一个或多个文件中的多个原始待对比对象扁平化得到,所述多个待对比对象与所述多个原始待对比对象一一对应,所述多个待对比对象中至少两个待对比对象包含的所述目标键的值不同,或者,所述多个待对比对象中至少一个待对比对象不包含所述目标键;所述多个待对比对象中的每个待对比对象包含一个或多个键,每个键对应一个或多个值;输出所述多个待对比对象的对比结果,所述对比结果包含所述多个待对比对象中每个待对比对象包含的所述目标键的值。
假定所有原始待对比对象的叶子节点的个数为n,使用公共对象确定多个待对比对象对应的目标键在空间复杂度上,多个待对比对象的空间占用为n,公共对象的空间占用最多为n。对多个对象逐一进行深度比较的方案需要占用为o(k*n),其中k为对象的最大深度。n为大于1的整数,k为大于2的整数。本申请实施例中,使用公共对象确定多个待对比对象对应的目标键,可以减少空间开销。
在一种可能的实现方式中,所述使用公共对象确定多个待对比对象对应的目标键包括:先后基于所述多个待对比对象中每个待对比对象包含的各键和各键的值,更新所述公共对象中的键和/或所述公共对象中的键对应的记数值;所述公共对象中的每个键对应一个记数值;基于所述公共对象中的各键对应的记数值,确定所述目标键;所述公共对象中的所述目标键对应的记数值不等于所述待对比对象的个数。
在该实现方式中,先后基于多个待对比对象中每个待对比对象包含的各键和各键的值,更新公共对象中的键和/或公共对象中的键对应的记数值,只需更新公共对象中的键和/或公共对象中的键对应的记数值,处理量较少、对比效率高。
在一种可能的实现方式中,所述先后使用所述多个待对比对象中每个待对比对象包含的各键和各键的值,更新所述公共对象中的键和/或所述公共对象中的键对应的记数值包括:在所述多个待对比对象中的第一待对比对象包含的第一键的值与所述公共对象中的所述第一键的值相同的情况下,将所述公共对象中的所述第一键对应的记数值加一;在所述多个待对比对象中的所述第一待对比对象包含的所述第一键的值与所述公共对象中的所述第一键的值不同的情况下,将所述公共对象中的所述第一键对应的记数值更新为一。
在该实现方式中,能够准确、快速地更新公共对象中的第一键对应的记数值,以便根据公共对象中的第一键对应的记数值确定该第一键在各个待对比对象中的值是否存在差异或者在某些待对比对象中是否不存在该第一键。
在一种可能的实现方式中,所述第一待对比对象包含的所述第一键的值与所述公共对象中的所述第一键的值不同,所述方法还包括:将所述公共对象中的所述第一键的值更新为所述第一待对比对象包含的所述第一键的值。
在该实现方式中,将公共对象中的第一键的值更新为第一待对比对象包含的第一键的值,可以记录第一键最近一个的值以方便后续的比对。
在一种可能的实现方式中,在将所述公共对象中的所述第一键对应的记数值加一之前,所述方法还包括:在所述公共对象中未包含所述多个待对比对象中的第二待对比对象包含的所述第一键的情况下,在所述公共对象中创建所述第一键,并将所述公共对象中的所述第一键的值设置为所述第二待对比对象包含的所述第一键的值以及将所述公共对象中的所述第一键对应的记数值设置为一。
在该实现方式中,创建公共对象未包含的第一键,并将该公共对象中的第一键的值设置为第二待对比对象包含的第一键的值以及将公共对象中的第一键对应的记数值设置为一;以便后续根据第一键对应的记数值确定该第一键在各个待对比对象中的值是否存在差异或者在某些待对比对象中是否不存在该第一键。
在一种可能的实现方式中,所述多个原始待对比对象中的至少一个的树结构有两层或两层以上子节点,所述多个待对比对象中的任意一个的树结构只有根节点和一层子节点。
在该实现方式中,多个待对比对象中的任意一个的树结构只有根节点和一层子节点,使用公共对象确定多个待对比对象对应的目标键;存储空间占用较少。
在一种可能的实现方式中,所述先后基于所述多个待对比对象中每个待对比对象包含的各键和各键的值,更新所述公共对象中的键和/或所述公共对象中的键对应的记数值包括:在基于所述多个待对比对象中的第三待对比对象包含的各键和各键的值,更新所述公共对象中的键和/或所述公共对象中的键对应的记数值的过程中,对第四原始待对比对象做扁平化处理以得到第四待对比对象;所述第四待对比对象包含于所述多个待对比对象,所述第三待对比对象由第三原始待对比对象扁平化得到,所述第三原始待对比对象和所述第四原始待对比对象包含于同一文件或不同文件。
在该实现方式中,在基于多个待对比对象中的第三待对比对象包含的各键和各键的值,更新公共对象中的键和/或公共对象中的键对应的记数值的过程中,对第四原始待对比对象做扁平化处理以得到第四待对比对象。也就是说,对第四原始待对比对象做扁平化处理的操作和基于多个待对比对象中的第三待对比对象包含的各键和各键的值,更新公共对象中的键和/或公共对象中的键对应的记数值的操作并行处理,能够有效减少时间开销,即降低时间复杂度。
在一种可能的实现方式中,在输出所述多个待对比对象的对比结果之前,所述方法还包括:在所述公共对象中的所述目标键对应的记数值不等于所述多个待对比对象的个数的情况下,将所述目标键写入中间结果数组;获取所述中间结果数组中的每个键在所述多个待对比对象中的值,得到所述对比结果。
在该实现方式中,获取中间结果数组中的每个键在多个待对比对象中的值,得到对比结果;能够快速地获得对比结果,操作简单。
在一种可能的实现方式中,所述输出所述多个待对比对象的对比结果包括:将所述多个待对比对象的对比结果进行表格化展示。
在该实现方式中,将多个待对比对象的对比结果进行表格化展示,以便用户更直观地看到多个待对比对象的对比结果,提高用户体验。
在一种可能的实现方式中,所述方法还包括:对所述一个或多个文件中的所述多个原始待对比对象做扁平化处理,得到所述多个待对比对象。
在该实现方式中,对多个原始待对比对象做扁平化处理,得到多个待对比对象;以便使用公共对象确定多个待对比对象对应的目标键,能够避免多个待对比对象比较时多余的深度搜索。
第二方面,本申请实施例提供一种数据处理装置,包括:处理单元,用于使用公共对象确定多个待对比对象对应的目标键;所述多个待对比对象中至少两个待对比对象包含的所述目标键的值不同,或者,所述多个待对比对象中至少一个待对比对象不包含所述目标键;所述多个待对比对象中的每个待对比对象包含一个或多个键,每个键对应一个或多个值;输出单元,用于输出所述多个待对比对象的对比结果,所述对比结果包含所述多个待对比对象中每个待对比对象包含的所述目标键的值。
在一种可能的实现方式中,所述处理单元,具体用于先后基于所述多个待对比对象中每个待对比对象包含的各键和各键的值,更新所述公共对象中的键和/或所述公共对象中的键对应的记数值;所述公共对象中的每个键对应一个记数值;基于所述公共对象中的各键对应的记数值,确定所述目标键;所述公共对象中的所述目标键对应的记数值不等于所述待对比对象的个数。
在一种可能的实现方式中,所述处理单元,具体用于在所述多个待对比对象中的第一待对比对象包含的第一键的值与所述公共对象中的所述第一键的值相同的情况下,将所述公共对象中的所述第一键对应的记数值加一;在所述多个待对比对象中的所述第一待对比对象包含的所述第一键的值与所述公共对象中的所述第一键的值不同的情况下,将所述公共对象中的所述第一键对应的记数值更新为一。
在一种可能的实现方式中,所述处理单元,还用于将所述公共对象中的所述第一键的值更新为所述第一待对比对象包含的所述第一键的值。
在一种可能的实现方式中,所述处理单元,还用于在所述公共对象中未包含所述多个待对比对象中的第二待对比对象包含的所述第一键的情况下,在所述公共对象中创建所述第一键,并将所述公共对象中的所述第一键的值设置为所述第二待对比对象包含的所述第一键的值以及将所述公共对象中的所述第一键对应的记数值设置为一。
在一种可能的实现方式中,所述多个原始待对比对象中的至少一个的树结构有两层或两层以上子节点,所述多个待对比对象中的任意一个的树结构只有根节点和一层子节点。
在一种可能的实现方式中,所述处理单元,具体用于在基于所述多个待对比对象中的第三待对比对象包含的各键和各键的值,更新所述公共对象中的键和/或所述公共对象中的键对应的记数值的过程中,对第四原始待对比对象做扁平化处理以得到第四待对比对象;所述第四待对比对象包含于所述多个待对比对象,所述第三待对比对象由第三原始待对比对象扁平化得到,所述第三原始待对比对象和所述第四原始待对比对象包含于同一文件或不同文件。
在一种可能的实现方式中,所述处理单元,还用于在所述公共对象中的所述目标键对应的记数值不等于所述多个待对比对象的个数的情况下,将所述目标键写入中间结果数组;获取所述中间结果数组中的每个键在所述多个待对比对象中的值,得到所述对比结果。
在一种可能的实现方式中,所述输出单元,具体用于将所述多个待对比对象的对比结果进行表格化展示。
在一种可能的实现方式中,所述处理单元,还用于对所述一个或多个文件中的所述多个原始待对比对象做扁平化处理,得到所述多个待对比对象。
关于第二方面或各种可能的实施方式所带来的技术效果,可参考对于第一方面或相应的实现方式的技术效果的介绍。
第三方面,本申请实施例提供了另一种电子设备,该电子设备包括:处理器和存储器,其中,所述存储器用于存储指令,所述处理器用于执行所述存储器存储的指令,使得所述处理器执行如上述第一方面以及上述第一方面的任意可能的实现方式的方法。
第四方面,本申请实施例提供了一种芯片,该芯片包括数据接口和处理器,其中,所述处理器用于执行上述第一方面以及上述第一方面的任意可能实现方式中的方法。
第五方面,本申请实施例提供了一种计算机可读存储介质,该计算机存储介质存储有计算机程序,该计算机程序包括程序指令,该程序指令当被处理器执行时使该处理器执行上述第一方面以及上述第一方面的任意可能的实现方式的方法。
第六方面,本申请实施例提供了一种计算机程序产品,该计算机程序产品包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述第一方面以及上述第一方面的任意可能的实现方式的方法。
附图说明
为了更清楚地说明本申请实施例或背景技术中的技术方案,下面将对本申请实施例或背景技术中所需要使用的附图进行说明。
图1为本申请实施例提供的一种对比方法流程图;
图2为本申请实施例提供的另一种对比方法流程图;
图3为本申请实施例提供的另一种对比方法流程图;
图4示出了对象扁平化处理的进度和更新公共对象的进度的示例;
图5为本申请实施例提供的另一种对比方法流程图;
图6为本申请实施例提供的一种数据处理装置的结构示意图;
图7为本申请实施例提供的一种终端设备的结构示意图;
图8是本申请实施例提供的一种服务器的结构示意图。
具体实施方式
本申请的说明书、权利要求书及附图中的术语“第一”和“第二”等仅用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备等,没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元等,或可选地还包括对于这些过程、方法、产品或设备等固有的其它步骤或单元。
在本文中提及的“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员可以显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上,“至少两个(项)”是指两个或三个及三个以上,“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”。
如背景技术所述,对多个对象逐一进行深度比较,会有大量计算冗余,造成时间和空间的浪费。因此需要研究时间或者空间开销更少的对比多个对象的方法。本申请提供的对比方法可减少空间开销。另外,本申请还提供了既能减少空间开销又能减少时间开销的对比方案。下面对本申请实施例提供的对比方法适用的文件对比场景进行简单的介绍。
文件对比场景1:用户通过数据处理装置,例如手机、个人电脑、平板电脑、笔记本电脑、台式电脑等具备数据处理功能的终端设备,对比两个或两个以上文件中的不同之处,得到对比结果。
文件对比场景2:用户通过数据处理装置,例如手机、个人电脑、平板电脑、笔记本电脑、台式电脑等具备数据处理功能的终端设备,对比同一文件中两个或两个以上对象的不同之处,得到对比结果。
文件对比场景3:用户通过数据处理装置,例如手机、个人电脑、平板电脑、笔记本电脑、台式电脑等具备数据处理功能的终端设备,对比训练配置(config)文件的不同之处。训练配置文件可以是模型训练中用到的配置文件或参数文件。数据处理装置对训练config文件的不同之处之后,可将对比结果反馈到训练精度查看上。
文件对比场景4:用户通过终端设备(例如手机、个人电脑、平板电脑、笔记本电脑、台式电脑等)将待对比的两个或两个以上文件上传至服务器,服务器对比两个或两个以上文件中的不同之处,并将对比结果发送给该终端设备。
在上述文件对比场景中,采用本申请提供的对方方法可有效减少占用的存储空间的开销以及计算量。
下面先介绍本申请所涉及的一些技术特征和术语。
javascript(缩写为JS)是一种高级的、多范式、解释型的编程语言,是一门基于原型、函数先行的语言,它支持面向对象编程、命令式编程以及函数式编程。它提供语法来操控文本、数组、日期以及正则表达式,不支持输入/输出(比如网络、存储和图形等),但可以由它的宿主环境提供支持。它已经由欧洲计算机制造商协会(European ComputerManufacturers Association,ECMA)通过ECMAScript实现语言的标准化。它被世界上的绝大多数网站所使用,也被世界主流浏览器支持。JavaScript的对象是一组由键-值组成的无序集合。javascript对象的键都是字符串类型,值可以是任意数据类型。
json对象以键/值对书写。键必须是字符串,值必须是有效的JSON数据类型(字符串、数字、对象、数组、布尔或null)。键和值由冒号分隔。每个键/值对由逗号分隔。
对象扁平化,即将一颗有若干层级的树结构拉平为只有根节点和一层子节点,避免多个对象比较时多余的深度搜索(扁平化可使用深度/广度搜索,开源库lodash、underscore等也提供此方法)。或者说,对象扁平化是指将层层嵌套的对象转换为扁平的简单对象。任意对象(深度为两层以上)扁平化之后(即扁平对象)的深度低于该对象扁平化之前的深度。
下面结合附图介绍本申请提供的对比方法。图1为本申请实施例提供的一种对比方法流程图。如图1所示,该方法包括:
101、数据处理装置使用公共对象确定多个待对比对象对应的目标键。
数据处理装置可以是手机、个人电脑、平板电脑、笔记本电脑、台式电脑等具备数据处理功能的终端设备,也可以是云服务器、网络服务器、应用服务器以及管理服务器等。
上述多个待对比对象由一个或多个文件中的多个原始待对比对象扁平化得到,上述多个待对比对象与上述多个原始待对比对象一一对应。在一些实施例中,多个原始待对比对象中的至少一个的树结构有两层或两层以上子节点,上述多个待对比对象中的任意一个的树结构只有根节点和一层子节点。在一些实施例中,数据处理装置通过对上述多个原始待对比对象做扁平化处理,得到多个待对比对象。数据处理装置可采用任意方式对多个原始待对比对象做扁平化处理,本申请不作限定。待对比对象可称为扁平对象。公共对象可以是任意可包含键/值对以及记数值的对象(例如json对象)。例如,公共对象为diff对象。本申请中,公共对象可替换为数组,该数组可记录键、键值以及记数值。
上述多个待对比对象中至少两个待对比对象包含的上述目标键的值不同,或者,上述多个待对比对象中至少一个待对比对象不包含上述目标键。上述多个待对比对象中的每个待对比对象包含一个或多个键,每个键对应一个或多个值。数据处理装置使用公共对象确定多个待对比对象对应的目标键可理解为数据处理装置使用公共对象确定多个待对比对象对应的满足目标条件的键的示例。多个待对比对象对应的满足目标条件的任意键在各个待对比对象中的值存在差异(即不同)或者在某些待对比对象中不存在该任意键。
102、数据处理装置输出多个待对比对象的对比结果。
上述对比结果包含上述多个待对比对象中每个待对比对象包含的上述目标键的值。
在一些实施例中,数据处理装置可使用公共对象确定多个待对比对象对应的满足目标条件的全部键;多个待对比对象的对比结果包含满足目标条件的每个键在每个待对比对象中的值。
假定所有原始待对比对象的叶子节点的个数为n,使用公共对象确定多个待对比对象对应的目标键在空间复杂度上,多个待对比对象的空间占用为n,公共对象的空间占用最多为n。对多个对象逐一进行深度比较的方案需要占用为o(k*n),其中k为对象的最大深度。n为大于1的整数,k为大于2的整数。本申请实施例中,使用公共对象确定多个待对比对象对应的目标键,可以减少空间开销。
图2为本申请实施例提供的另一种对比方法流程图。图2中的方法流程为图1中的方法流程的的一种可能的实现方式。如图2所示,该方法包括:
201、数据处理装置先后基于多个待对比对象中每个待对比对象包含的各键和各键的值,更新公共对象中的键和/或公共对象中的键对应的记数值。
上述公共对象中的每个键对应一个记数值。
步骤201一种举例如下:多个待对比对象包括待对比对象1、待对比对象2、…、待对比对象N,数据处理装置先使用待对比对象1包含的各键和各键的值,更新公共对象中的键和/或公共对象中的键对应的记数值;再使用待对比对象2包含的各键和各键的值,更新公共对象中的键和/或公共对象中的键对应的记数值;再使用待对比对象3包含的各键和各键的值,更新公共对象中的键和/或公共对象中的键对应的记数值;以此类推,最后使用待对比对象N包含的各键和各键的值,更新公共对象中的键和/或公共对象中的键对应的记数值。N为大于2的整数。可理解,数据处理装置使用不同待对比对象包含的各键和各键的值,更新公共对象中的键和/或公共对象中的键对应的记数值的方式可相同或相似。
数据处理装置使用第一待对比对象包含的各键和各键的值,更新公共对象中的键和/或公共对象中的键对应的记数值的示例如下:
在第一待对比对象包含的第一键的值与公共对象中的第一键的值相同的情况下,数据处理装置将公共对象中的第一键对应的记数值加一;
在第一待对比对象包含的第一键的值与公共对象中的第一键的值不同的情况下,数据处理装置将公共对象中的第一键对应的记数值更新为一。在一些实施例中,数据处理装置还可将公共对象中的第一键的值更新为第一待对比对象包含的第一键的值。在一些实施例中,数据处理装置还可将保持公共对象中的第一键的值不变。
在上述示例中,数据处理装置将公共对象中的第一键对应的记数值加一或者将公共对象中的第一键对应的记数值更新为一的前提条件是公共对象中包含第一键。数据处理装置在使用第一待对比对象包含的各键和各键的值,更新公共对象中的键和/或公共对象中的键对应的记数值之前,可执行如下操作:在公共对象中未包含多个待对比对象中的第二待对比对象包含的第一键的情况下,在公共对象中创建上述第一键,并将公共对象中的上述第一键的值设置为上述第二待对比对象包含的第一键的值以及将公共对象中的第一键对应的记数值设置为一。在一些实施例中,数据处理装置可使用分别使用第二待对比对象包含的每个键和每个键的值(即键值),更新公共对象中的键和/或公共对象中的键对应的记数值。举例来说,在公共对象中未包含多个待对比对象中的第二待对比对象包含的第一键的情况下,在公共对象中创建上述第一键,并将公共对象中的上述第一键的值设置为上述第二待对比对象包含的第一键的值以及将公共对象中的第一键对应的记数值设置为一;在第二待对比对象包含的第二键的值与公共对象中的第二键的值不同的情况下,数据处理装置将公共对象中的第二键对应的记数值更新为一;在第二待对比对象包含的第三键的值与公共对象中的第三键的值相同的情况下,数据处理装置将公共对象中的第三键对应的记数值加一;以此类推。
数据处理装置使用第一待对比对象包含的各键和各键的值,更新公共对象中的键和/或公共对象中的键对应的记数值的另一种示例如下:在公共对象中未包含多个待对比对象中的第一待对比对象包含的第四键的情况下,在公共对象中创建上述第四键,并将公共对象中的上述第四键的值设置为上述第一待对比对象包含的第四键的值以及将公共对象中的第四键对应的记数值设置为一。
步骤201可理解为:遍历每个待对比对象(扁平对象),并使用一个公共对象(例如diff对象)记录状态。若当前遍历对象(某个待对比对象)的当前键在公共对象中不存在,则将公共对象中该键的值设置为一个json对象,包含当前键的记数值以及最后一次访问当前键时对应的值(即当前遍历对象的当前键的值),记数值设为1,对应的值设为当前值。若当前遍历对象的当前键的值与公共对象中的该键的值相同,则将公共对象中该键的记数值加为1,该键对应的值不变。若当前遍历对象的当前键的值与公共对象中的该键的值不同,则将公共对象中该键的值进行重置,记数值设为1,该键的值设为当前值。使用公共对象记录状态的原因是需要得出所有待对比对象相同键的不同值,因此只需要记录最近一次的访问值以便进行对比。
202、数据处理装置基于公共对象中的各键对应的记数值,确定目标键。
上述公共对象中的上述目标键对应的记数值不等于上述待对比对象的个数。步骤202可参阅步骤101。
203、在公共对象中的目标键对应的记数值不等于多个待对比对象的个数的情况下,数据处理装置将目标键写入中间结果数组。
在一些实施例中,数据处理装置可遍历公共对象的每个键。一种可能的方式如下:若公共对象中某键的记数值与待对比对象的个数相同,说明每个待对比对象中都存在该键并且值相同,可跳过;若某键的记数值与待对比对象的个数不同,说明该键在各个待对比对象中的值存在差异或者在某些待对比对象中不存在该键,将该键存入中间结果数组。
204、数据处理装置获取中间结果数组中的每个键在多个待对比对象中的值,得到对比结果。
在一些实施例中,数据处理装置只需遍历中间结果数组,并取出中间结果数组中的每个键在多个待对比对象中的值,得到对比结果。应理解,数据处理装置在将不同的键进行表格化展示时,只需遍历结果数组,并取出中间结果数组中的每个键在多个待对比对象中的值以得到最终的对比结果。
205、数据处理装置将多个待对比对象的对比结果进行表格化展示。
本申请实施例中,先后基于多个待对比对象中每个待对比对象包含的各键和各键的值,更新公共对象中的键和/或公共对象中的键对应的记数值,只需更新公共对象中的键和/或公共对象中的键对应的记数值,处理量较少、对比效率高。另外,将多个待对比对象的对比结果进行表格化展示,以便用户更直观地看到多个待对比对象的对比结果,提高用户体验。
图3为本申请实施例提供的另一种对比方法流程图。图3中的方法流程为图1中的方法流程的的一种可能的实现方式。如图3所示,该方法包括:
301、数据处理装置对一个或多个文件中的多个原始待对比对象做扁平化处理,得到多个待对比对象。
302、数据处理装置先后基于多个待对比对象中每个待对比对象包含的各键和各键的值,更新公共对象中的键和/或公共对象中的键对应的记数值。
步骤302可参阅步骤201。
在一些实施例中,数据处理装置可并行执行步骤301和步骤302。也就是说,数据处理装置可在执行步骤301的过程中,执行步骤302,这样可以减少时间开销。举例来说,多个原始待对比对象包括原始待对比对象1、原始待对比对象2、…、原始待对比对象N;数据处理装置先后对原始待对比对象1、原始待对比对象2、…、原始待对比对象N进行扁平化处理;在对原始待对比对象扁平化处理得到待对比对象1之后,立即使用待对比对象1包含的各键和各键的值,更新公共对象中的键和/或公共对象中的键对应的记数值。应理解,数据处理装置每得到一个待对比对象就可利用该待对比对象包含的各键和各键的值,更新公共对象中的键和/或公共对象中的键对应的记数值,不用等到对所有原始待对比对象完成扁平化处理。图4示出了对象扁平化处理的进度和更新公共对象的进度的示例。图4中,401表示对象扁平化处理的进度(即步骤301的进度),402表示更新公共对象的进度(即步骤302的进度)。图4中,原始待对比对象1占用的矩形表示对原始待对比对象1做扁平化处理的时间;原始待对比对象2占用的矩形表示对原始待对比对象2做扁平化处理的时间,以此类推;待对比对象1占用的矩形表示使用待对比对象1包含的各键和各键的值,更新公共对象中的键和/或公共对象中的键对应的记数值的时间;待对比对象2占用的矩形表示使用待对比对象2包含的各键和各键的值,更新公共对象中的键和/或公共对象中的键对应的记数值的时间,以此类推。从图4可以看出,对象扁平化处理的进度和更新公共对象的进度近乎重叠,通过并行执行步骤301和步骤302能够有效减少时间开销,即降低时间复杂度。
303、数据处理装置将公共对象中对应的记数值不等于多个待对比对象的个数的键写入中间结果数组。
304、数据处理装置获取中间结果数组中的每个键在多个待对比对象中的值,得到对比结果。
步骤304可参阅步骤204。
305、数据处理装置将多个待对比对象的对比结果进行表格化展示。
步骤305可参阅步骤205。
时间复杂度上,本申请实施例提供的对比方法与深度比较均为o(n),其中n为所有待对比对象的叶节点个数。本申请实施例使用公共对象避免了重复深度搜索。由于对象扁平化过程和公共对象的更新过程可同时进行,耗时为n,遍历公共对象的耗时最多为n。深度比较的方案中,两两深度比较耗时为2n,再遍历整合耗时为n,因此在计算规模上本申请实施例提供的对比方法相比深度比较的方案提升1/3以上。空间复杂度上,对象扁平化的空间占用为n,公共对象的空间占用最多为n,而深度比较的空间占用为o(k*n),其中k为对象最大深度,因此本申请实施例提供的对比方法在额外空间使用上也大幅提升。可见,本申请实施例提供的对比方法可减少时间开销和空间开销。
图5为本申请实施例提供的另一种对比方法流程图。图5中的方法流程为图1中的方法流程的的一种可能的实现方式。如图5所示,该方法包括:
501、数据处理装置对一个或多个文件中的多个原始待对比对象做扁平化处理,得到多个待对比对象。
502、数据处理装置遍历每个待对比对象,并使用工作对象记录各待对比对象的状态。
步骤502一种可能的实现方式如下:先后基于多个待对比对象中每个待对比对象包含的各键和各键的值,更新公共对象中的键和/或公共对象中的键对应的记数值。进而,根据使用公共对象的记录(例如公共对象的键对应的计数值)得出所有待对比对象相同键的不同值。
在一些实施例中,步骤502可包括图5中的步骤5021、步骤5022以及步骤5023。步骤5021、步骤5022以及步骤5023以第一待对比对象为例,描述步骤502一种可能的实现方式。应理解,数据处理装置可采用类似的方式遍历每个待对比对象。
5021、判断第一待对比对象中的当前键的值与公共对象中的当前键的值是否相同。
第一待对比对象中的当前键可以是该第一待对比对象中的任意键。应理解,数据处理装置可采用相同的方式分别判断第一待对比对象中每个键的值与公共对象中的该键的值是否相同。例如,判断第一待对比对象中的第一键的值与公共对象中的第一键的值是否相同。又例如,判断第一待对比对象中的第二键的值与公共对象中的第二键的值是否相同。若是,执行步骤5022。若否,执行步骤5023。
5022、数据处理装置将公共对象中的当前键对应的记数值加一。
公共对象中的当前建的值保持不变。
5023、数据处理装置将公共对象中的当前键对应的记数值设置为一,并将当前键的值设置为第一待对比对象中的当前键的值。
第一待对比对象中的当前键的值与公共对象中的当前键的值不同的情况包括两种:一种是公共对象中包含当前键,当前键在公共对象中的值与在第一待对比对象中的值不同;另一种是公共对象中未包含当前键。在公共对象中未包含当前键的情况下,数据处理装置可先在公共对象中创建当前键,再将公共对象中的当前键对应的记数值更新为一,以及将当前键的值设置为第一待对比对象中的当前键的值。
503、数据处理装置遍历公共对象的所有键以得到中间结果数组。
在一些实施例中,步骤503可包括图5中的步骤5031、步骤5032以及步骤5033。步骤5031、步骤5032以及步骤5033以公共对象中的第一键为例,描述步骤503一种可能的实现方式。应理解,数据处理装置可采用类似的方式遍历公共对象中的每个键以得到中间结果数组。
5031、数据处理装置判断公共对象中的当前键对应的记数值是否等于待对比对象的个数。
若是,执行步骤5032;若否,执行步骤5033。
5032、数据处理装置跳过当前键,继续遍历公共对象中的下一键。
5033、数据处理装置将当前键写入中间结果数组。
504、数据处理装置将多个待对比对象的对比结果进行表格化展示。
在一些实施例中,数据处理装置可获取中间结果数组中的每个键在多个待对比对象中的值,得到对比结果;然后,将多个待对比对象的对比结果进行表格化展示。
本申请实施例提供的对比方法可减少时间开销和空间开销。
下面介绍实现本申请提供的对比方法的数据处理装置的结构。
图6为本申请实施例提供的一种数据处理装置的结构示意图。如图6所示,数据处理装置60包括:
处理单元601,用于使用公共对象确定多个待对比对象对应的目标键;上述多个待对比对象中至少两个待对比对象包含的上述目标键的值不同,或者,上述多个待对比对象中至少一个待对比对象不包含上述目标键;上述多个待对比对象中的每个待对比对象包含一个或多个键,每个键对应一个或多个值;
输出单元602,用于输出上述多个待对比对象的对比结果,上述对比结果包含上述多个待对比对象中每个待对比对象包含的上述目标键的值。
在一种可能的实现方式中,处理单元601,具体用于先后基于上述多个待对比对象中每个待对比对象包含的各键和各键的值,更新上述公共对象中的键和/或上述公共对象中的键对应的记数值;上述公共对象中的每个键对应一个记数值;基于上述公共对象中的各键对应的记数值,确定上述目标键;上述公共对象中的上述目标键对应的记数值不等于上述待对比对象的个数。
在一种可能的实现方式中,处理单元601,具体用于在上述多个待对比对象中的第一待对比对象包含的第一键的值与上述公共对象中的上述第一键的值相同的情况下,将上述公共对象中的上述第一键对应的记数值加一;在上述多个待对比对象中的上述第一待对比对象包含的上述第一键的值与上述公共对象中的上述第一键的值不同的情况下,将上述公共对象中的上述第一键对应的记数值更新为一。
在一种可能的实现方式中,处理单元601,还用于将上述公共对象中的上述第一键的值更新为上述第一待对比对象包含的上述第一键的值。
在一种可能的实现方式中,处理单元601,还用于在上述公共对象中未包含上述多个待对比对象中的第二待对比对象包含的上述第一键的情况下,在上述公共对象中创建上述第一键,并将上述公共对象中的上述第一键的值设置为上述第二待对比对象包含的上述第一键的值以及将上述公共对象中的上述第一键对应的记数值设置为一。
在一种可能的实现方式中,上述多个原始待对比对象中的至少一个的树结构有两层或两层以上子节点,上述多个待对比对象中的任意一个的树结构只有根节点和一层子节点。
在一种可能的实现方式中,处理单元601,具体用于在基于上述多个待对比对象中的第三待对比对象包含的各键和各键的值,更新上述公共对象中的键和/或上述公共对象中的键对应的记数值的过程中,对第四原始待对比对象做扁平化处理以得到第四待对比对象;上述第四待对比对象包含于上述多个待对比对象,上述第三待对比对象由第三原始待对比对象扁平化得到,上述第三原始待对比对象和上述第四原始待对比对象包含于同一文件或不同文件。
在一种可能的实现方式中,处理单元601,还用于在上述公共对象中的上述目标键对应的记数值不等于上述多个待对比对象的个数的情况下,将上述目标键写入中间结果数组;获取上述中间结果数组中的每个键在上述多个待对比对象中的值,得到上述对比结果。
在一种可能的实现方式中,输出单元602,具体用于将上述多个待对比对象的对比结果进行表格化展示。
在一种可能的实现方式中,处理单元601,还用于对上述一个或多个文件中的上述多个原始待对比对象做扁平化处理,得到上述多个待对比对象
应理解,以上数据处理装置的各个单元的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。例如,以上各个单元可以为单独设立的处理元件,也可以集成在同一个芯片中实现。此外,也可以以程序代码的形式存储于控制器的存储元件中,由处理器的某一个处理元件调用并执行以上各个单元的功能。此外各个单元可以集成在一起,也可以独立实现。这里的处理元件可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个单元可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。该处理元件可以是通用处理器,例如中央处理器(英文:central processing unit,简称:CPU),还可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(英文:application-specific integrated circuit,简称:ASIC),或,一个或多个微处理器(英文:digitalsignal processor,简称:DSP),或,一个或者多个现场可编程门阵列(英文:field-programmable gate array,简称:FPGA)等。
图7为本申请实施例提供的一种终端设备的结构示意图。如图7所示,该终端设备70包括处理器701、存储器702、输入输出设备703。该处理器701、存储器702和输入输出设备703通过总线相互连接。图7中的终端设备可以为前述实施例中的数据处理装置。
存储器702包括但不限于是随机存储记忆体(random access memory,RAM)、只读存储器(read-only memory,ROM)、可擦除可编程只读存储器(erasable programmablereadonly memory,EPROM)、或便携式只读存储器(compact disc read-only memory,CDROM),该存储器702用于相关指令及数据。输入输出设备703用于输入和输出数据。
处理器701可以是一个或多个中央处理器(central processing unit,CPU),在处理器701是一个CPU的情况下,该CPU可以是单核CPU,也可以是多核CPU。上述实施例中由数据处理装置所执行的步骤可以基于该图7所示的终端设备的结构。处理器701可实现处理单元601的功能;输入输出设备703可实现输出单元602的功能。例如,输入输出设备703包括显示器,显示器可将多个待对比对象的对比结果进行表格化展示。又例如,输入输出设备703将多个待对比对象的对比结果通过通信接口发送给其他设备。
图8是本申请实施例提供的一种服务器的结构示意图,该服务器800可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processingunits,CPU)822(例如,一个或一个以上处理器)和存储器832,一个或一个以上存储应用程序842或数据844的存储介质830(例如一个或一个以上海量存储设备)。其中,存储器832和存储介质830可以是短暂存储或持久存储。存储在存储介质830的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器822可以设置为与存储介质830通信,在服务器800上执行存储介质830中的一系列指令操作。服务器800可以上述数据处理装置。
服务器800还可以包括一个或一个以上电源826,一个或一个以上有线或无线网络接口850,一个或一个以上输入输出接口858,和/或,一个或一个以上操作系统841,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述实施例中由数据处理装置所执行的步骤可以基于该图8所示的服务器结构。当服务器800为数据处理装置时,中央处理器822可实现图6中的处理单元601的功能,输入输出接口858可实现图6中的输出单元602的功能。例如,服务器800通过输入输出接口858将多个待对比对象的对比结果发送给其他设备。
在本申请的实施例中提供一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述计算机程序被处理器执行时实现前述实施例所提供的对比方法。
本申请实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行前述实施例所提供的对比方法。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (11)
1.一种对比方法,其特征在于,包括:
使用公共对象确定多个待对比对象对应的目标键;所述多个待对比对象由一个或多个文件中的多个原始待对比对象扁平化得到,所述多个待对比对象与所述多个原始待对比对象一一对应,所述多个待对比对象中至少两个待对比对象包含的所述目标键的值不同,或者,所述多个待对比对象中至少一个待对比对象不包含所述目标键;所述多个待对比对象中的每个待对比对象包含一个或多个键,每个键对应一个或多个值;
输出所述多个待对比对象的对比结果,所述对比结果包含所述多个待对比对象中每个待对比对象包含的所述目标键的值。
2.根据权利要求1所述的方法,其特征在于,所述使用公共对象确定多个待对比对象对应的目标键包括:
先后基于所述多个待对比对象中每个待对比对象包含的各键和各键的值,更新所述公共对象中的键和/或所述公共对象中的键对应的记数值;所述公共对象中的每个键对应一个记数值;
基于所述公共对象中的各键对应的记数值,确定所述目标键;所述公共对象中的所述目标键对应的记数值不等于所述待对比对象的个数。
3.根据权利要求2所述的方法,其特征在于,所述先后使用所述多个待对比对象中每个待对比对象包含的各键和各键的值,更新所述公共对象中的键和/或所述公共对象中的键对应的记数值包括:
在所述多个待对比对象中的第一待对比对象包含的第一键的值与所述公共对象中的所述第一键的值相同的情况下,将所述公共对象中的所述第一键对应的记数值加一;
在所述多个待对比对象中的所述第一待对比对象包含的所述第一键的值与所述公共对象中的所述第一键的值不同的情况下,将所述公共对象中的所述第一键对应的记数值更新为一。
4.根据权利要求3所述的方法,其特征在于,所述第一待对比对象包含的所述第一键的值与所述公共对象中的所述第一键的值不同,所述方法还包括:
将所述公共对象中的所述第一键的值更新为所述第一待对比对象包含的所述第一键的值。
5.根据权利要求3或4所述的方法,其特征在于,在将所述公共对象中的所述第一键对应的记数值加一之前,所述方法还包括:
在所述公共对象中未包含所述多个待对比对象中的第二待对比对象包含的所述第一键的情况下,在所述公共对象中创建所述第一键,并将所述公共对象中的所述第一键的值设置为所述第二待对比对象包含的所述第一键的值以及将所述公共对象中的所述第一键对应的记数值设置为一。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述多个原始待对比对象中的至少一个的树结构有两层或两层以上子节点,所述多个待对比对象中的任意一个的树结构只有根节点和一层子节点。
7.根据权利要求2所述的方法,其特征在于,所述先后基于所述多个待对比对象中每个待对比对象包含的各键和各键的值,更新所述公共对象中的键和/或所述公共对象中的键对应的记数值包括:
在基于所述多个待对比对象中的第三待对比对象包含的各键和各键的值,更新所述公共对象中的键和/或所述公共对象中的键对应的记数值的过程中,对第四原始待对比对象做扁平化处理以得到第四待对比对象;所述第四待对比对象包含于所述多个待对比对象,所述第三待对比对象由第三原始待对比对象扁平化得到,所述第三原始待对比对象和所述第四原始待对比对象包含于同一文件或不同文件。
8.根据权利要求1至7任一项所述的方法,其特征在于,在输出所述多个待对比对象的对比结果之前,所述方法还包括:
在所述公共对象中的所述目标键对应的记数值不等于所述多个待对比对象的个数的情况下,将所述目标键写入中间结果数组;
获取所述中间结果数组中的每个键在所述多个待对比对象中的值,得到所述对比结果。
9.一种数据处理装置,其特征在于,包括:
处理单元,用于使用公共对象确定多个待对比对象对应的目标键;所述多个待对比对象中至少两个待对比对象包含的所述目标键的值不同,或者,所述多个待对比对象中至少一个待对比对象不包含所述目标键;所述多个待对比对象中的每个待对比对象包含一个或多个键,每个键对应一个或多个值;
输出单元,用于输出所述多个待对比对象的对比结果,所述对比结果包含所述多个待对比对象中每个待对比对象包含的所述目标键的值。
10.一种电子设备,其特征在于,包括处理器,所述处理器通过读取存储器中存储的代码,以执行如权利要求1至8任一项所述的方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时,使所述处理器执行权利要求1至8任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111068627.7A CN113806310A (zh) | 2021-09-13 | 2021-09-13 | 对比方法和相关产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111068627.7A CN113806310A (zh) | 2021-09-13 | 2021-09-13 | 对比方法和相关产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113806310A true CN113806310A (zh) | 2021-12-17 |
Family
ID=78940904
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111068627.7A Pending CN113806310A (zh) | 2021-09-13 | 2021-09-13 | 对比方法和相关产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113806310A (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ZA755135B (en) * | 1975-07-22 | 1976-07-28 | Int Computers Ltd | Improvements in or relating to data processing systems |
US20090094616A1 (en) * | 2007-10-04 | 2009-04-09 | Delima Roberto | Comparing Middleware Configurations |
US20100223269A1 (en) * | 2009-02-27 | 2010-09-02 | International Business Machines Corporation | System and method for an efficient query sort of a data stream with duplicate key values |
US10303669B1 (en) * | 2016-03-30 | 2019-05-28 | Amazon Technologies, Inc. | Simulating hierarchical structures in key value stores |
CN110162509A (zh) * | 2019-04-26 | 2019-08-23 | 平安普惠企业管理有限公司 | 文件比对方法、装置、计算机设备及存储介质 |
CN111506608A (zh) * | 2020-04-16 | 2020-08-07 | 泰康保险集团股份有限公司 | 一种结构化文本的比较方法和装置 |
CN112199935A (zh) * | 2020-09-24 | 2021-01-08 | 建信金融科技有限责任公司 | 数据的比对方法、装置、电子设备及计算机可读存储介质 |
CN112711419A (zh) * | 2019-10-24 | 2021-04-27 | 马上消费金融股份有限公司 | 一种数据比对方法及装置 |
CN113190220A (zh) * | 2021-06-30 | 2021-07-30 | 南京冰鉴信息科技有限公司 | Json文件差异化对比方法及装置 |
-
2021
- 2021-09-13 CN CN202111068627.7A patent/CN113806310A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ZA755135B (en) * | 1975-07-22 | 1976-07-28 | Int Computers Ltd | Improvements in or relating to data processing systems |
US20090094616A1 (en) * | 2007-10-04 | 2009-04-09 | Delima Roberto | Comparing Middleware Configurations |
US20100223269A1 (en) * | 2009-02-27 | 2010-09-02 | International Business Machines Corporation | System and method for an efficient query sort of a data stream with duplicate key values |
US10303669B1 (en) * | 2016-03-30 | 2019-05-28 | Amazon Technologies, Inc. | Simulating hierarchical structures in key value stores |
CN110162509A (zh) * | 2019-04-26 | 2019-08-23 | 平安普惠企业管理有限公司 | 文件比对方法、装置、计算机设备及存储介质 |
CN112711419A (zh) * | 2019-10-24 | 2021-04-27 | 马上消费金融股份有限公司 | 一种数据比对方法及装置 |
CN111506608A (zh) * | 2020-04-16 | 2020-08-07 | 泰康保险集团股份有限公司 | 一种结构化文本的比较方法和装置 |
CN112199935A (zh) * | 2020-09-24 | 2021-01-08 | 建信金融科技有限责任公司 | 数据的比对方法、装置、电子设备及计算机可读存储介质 |
CN113190220A (zh) * | 2021-06-30 | 2021-07-30 | 南京冰鉴信息科技有限公司 | Json文件差异化对比方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11544578B2 (en) | Method, device and equipment for fusing different instances describing same entity | |
US10146531B2 (en) | Method and apparatus for generating a refactored code | |
US9229697B2 (en) | Speculative object shapes | |
CN113342345A (zh) | 深度学习框架的算子融合方法、装置 | |
CN111459993B (zh) | 基于行为分析的配置更新方法、装置、设备及存储介质 | |
RU2722692C1 (ru) | Способ и система выявления вредоносных файлов в неизолированной среде | |
CN112181386B (zh) | 一种基于软件持续集成的代码构建方法、装置及终端 | |
CN110502520A (zh) | 一种数据入库的方法、系统、设备及计算机可读存储介质 | |
CN114897173A (zh) | 基于变分量子线路确定PageRank的方法及装置 | |
CN112749300A (zh) | 用于视频分类的方法、装置、设备、存储介质和程序产品 | |
JPWO2008081932A1 (ja) | 文字列照合用有限オートマトン生成システム、その生成方法、及び生成プログラム | |
US20160292064A1 (en) | Iterative test generation based on data source analysis | |
CN113326403A (zh) | 流程图渲染方法及装置、电子设备和介质 | |
CN112068781A (zh) | 一种存储器的数据读写方法及相关设备 | |
CN113806310A (zh) | 对比方法和相关产品 | |
KR101991579B1 (ko) | Z-함수를 이용한 순위패턴매칭과 순위다중패턴매칭 병렬 계산 방법 | |
CN116168403A (zh) | 医疗数据分类模型训练方法、分类方法、装置及相关介质 | |
CA3153550A1 (en) | Core recommendation method, device and system | |
CN115455006A (zh) | 数据处理方法、数据处理装置、电子设备及存储介质 | |
CN103942162B (zh) | 在存储器中进行多访问的方法、装置和存储系统 | |
CN114116096A (zh) | 一种信息处理方法、装置、设备及存储介质 | |
CN108536583B (zh) | 自动化测试的断言方法、装置、计算机设备及存储介质 | |
CN113326680A (zh) | 生成表格的方法和装置 | |
CN111723247A (zh) | 基于图的假设计算 | |
CN113031962B (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 |