CN106503268B - 数据对比方法、装置和系统 - Google Patents
数据对比方法、装置和系统 Download PDFInfo
- Publication number
- CN106503268B CN106503268B CN201611117718.4A CN201611117718A CN106503268B CN 106503268 B CN106503268 B CN 106503268B CN 201611117718 A CN201611117718 A CN 201611117718A CN 106503268 B CN106503268 B CN 106503268B
- Authority
- CN
- China
- Prior art keywords
- data
- comparison
- data set
- item
- data item
- 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.)
- Active
Links
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/25—Integrating or interfacing systems involving database management systems
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/273—Asynchronous replication or reconciliation
Abstract
本发明提出了一种数据对比方法、装置和系统。数据对比方法包括:转换步骤,利用分布式计算架构对获取的第一数据集和第二数据集中各自包含的多个数据项进行转换,使得转换后的数据项具有统一的数据结构,其中所述统一的数据结构包括多个字段;对比步骤,利用所述分布式计算架构根据数据对比配置文件对所述转换后的第一数据集和第二数据集中的所述多个数据项进行对比。客户端可以利用配置文件按需对数据对比作出简要或是详尽的配置,由此利用分布式平台实现大数据的快速高效对比。
Description
技术领域
本发明涉及数据处理领域,尤其涉及一种数据对比方法、装置和系统。
背景技术
随着计算机技术和商业活动的日益繁盛,系统维护人员需要越来越频繁地对系统进行重构和迭代以满足例如系统升级或是商业合并等的需要。系统级重构通常需要对操作前后及不同版本间的数据进行对比,以验证系统的正确性。但是系统的多样化导致需要处理的数据格式多样化、数据存储方式的多样化及数据量大小的不同。另外,对于大型系统而言,由于数据量规模巨大(例如,PB级的数据量),无法通过目前主流软件工具在合理时间内进行管理,因此通常需要上千甚至几万台计算机通过网络连接来共同完成特定数据处理任务。
针对数据对比,现有的解决方式是为每个系统产生的数据专门开发一个脚本进行数据对比。这种现有方案具有诸多缺点。首先,由于开发的脚本是针对单一系统产生的数据,对于不同的系统产生的数据很难直接复用。其次,使用脚本进行数据对比造成处理效率低下,对于大型系统而言通常耗时过长。第三,问题排除不便,即便在数据对比完成后发现问题,也很难快速找到数据对比前的原始数据。第四,部分数据格式用脚本难以读取。正式的线上系统一般不会以脚本语言为主要开发语言,导致这些系统产生的数据格式只有用该系统开发语言编写的对应接口库读取才会比较方便。
由此,需要一种新的数据处理方法、装置和系统,尤其适用于大数据(例如,PB级数据)和系统级的操作。
发明内容
为了解决上述至少一个问题,本发明提出了一种新的数据对比方法、装置和系统。本发明利用分布式数据对比平台对数据进行读取、统一格式转换和对比,用户只需在前端进行简单配置和操作,就能够对各种类型的海量数据进行快速对比,并且并实现对比结果的直观查看。
根据本发明的一个方面,提出了一种数据对比方法,包括:转换步骤,利用分布式计算架构对获取的第一数据集和第二数据集中各自包含的多个数据项进行转换,使得转换后的数据项具有统一的数据结构,其中所述统一的数据结构包括多个字段;对比步骤,利用所述分布式计算架构根据数据对比配置文件对所述转换后的第一数据集和第二数据集中的所述多个数据项进行对比。
这样,用户只需配置文件就能够利用分布式计算架构来实现对数据,尤其是大数据的格式转换和对比,由此免除了对开发数据对比任务脚本的需要,并且能够通过分布式的并行计算提升数据对比效率。
优选地,所述数据对比配置文件定义了用于区分各数据项的关键字段,并且所述对比步骤可以包括:对第一数据集和第二数据集中关键字段相同或相应的数据项的其他至少一个字段进行比较。由此实现对数据集中各个数据项的对比。
优选地,对所述第一数据集和所述第二数据集中关键字段相同或相应的数据项中的其他至少一个字段进行比较包括:所述分布式计算架构按照所述关键字段对所述第一数据集和所述第二数据集中多个数据项的排序来对关键字段相同或相应的数据项进行比较。所述排序可由所述分布式计算架构进入对比步骤时自行做出的。由此,能够明确分布式系统中各计算终端所需进行对比操作的对象,由此提升对比效率。
优选地,所述数据对比配置文件定义了所述数据结构中至少一个字段的比较方式;或者所述数据对比配置文件和默认设置各自定义了所述数据结构中至少一个字段的比较方式。由此,通过默认或是外部配置,就能够实现对各类数据的对比,由此提升本发明对比方案的功能性并减小分布式架构的实现成本。
优选地,述数据对比配置文件还包括用于实现至少一个字段比较的扩展脚本,并且所述对比步骤还包括基于所述扩展脚本对所述至少一个字段进行对比。由此进一步拓展本发明对比方案的可用性。
优选地,所述转换步骤可以包括利用分布式计算架构基于所述第一数据集和所述第二数据集中各自包括的多个数据项的初始数据类型使用工厂函数将所述多个数据项转换成统一的数据结构。由此,通过工厂函数定制不同类型的读取模块并转化为统一的内部数据结构,实现了对于不同类型数据的通用性数据对比。
优选地,所述分布式计算架构包括多个计算端,在所述转换步骤中每个计算端对所述第一数据集和/或所述第二数据集中的部分数据项进行转换,在所述对比步骤中每个计算端对所述第一数据集和所述第二数据集中的部分数据项进行转换,并且每个计算端在所述转换步骤和所述对比步骤中处理相同或不同的数据项。由此,通过在各计算端之间、各任务之间灵活分配数据项,实现对海量数据的高效对比。
根据本发明的另一个发明,提出了一种数据对比装置,包括:数据结构转换单元,用于利用分布式计算架构对获取的第一数据集和第二数据集中各自包含的多个数据项进行转换,使得转换后的数据项具有统一的数据结构,其中所述统一的数据结构包括多个字段;数据项对比单元,用于利用分布式计算架构根据数据对比配置文件对所述转换后的第一数据集和第二数据集中的所述多个数据项进行对比。
优选地,所述数据对比配置文件定义了用于区分各数据项的关键字段,并且,所述数据项对比单元对所述第一数据集和所述第二数据集中关键字段相同或相应的数据项的其他至少一个字段进行比较。
优选地,所述数据项对比单元根据所述关键字段对所述第一数据集和所述第二数据集中多个数据项的排序来对关键字段相同或相应的数据项的其他至少一个字段进行比较。
优选地,所述数据对比配置文件还包括用于实现至少一个字段比较的扩展脚本,并且所述数据项对比单元基于所述扩展脚本对所述至少一个字段进行对比。
优选地,所述数据结构转换单元基于所述第一数据集和所述第二数据集中各自包括的多个数据项的初始数据类型使用工厂函数将所述多个数据项转换成统一的数据结构。
优选地,所述分布式计算架构包括分布式连接的多个计算端,每个计算端中的数据结构转换单元对所述第一数据集和/或所述第二数据集中的部分数据项进行转换,每个计算端的数据项对比单元对所述第一数据集和所述第二数据集中的部分数据项进行转换,并且每个计算端在所述数据结构转换单元和所述数据项对比单元处理相同或不同的数据项。
根据本发明的又一个方面,提出了一种数据对比系统,包括分布式计算架构和客户端,其中,客户端选择要进行对比的第一数据集和第二数据集,配置数据对比配置文件并将所述数据对比配置文件发送至分布式计算架构,分布式计算架构包括分布式连接的多个计算端,每个计算端对获取的第一数据集和第二数据集中各自包含的多个数据项中的部分数据项进行转换,使得转换后的数据项具有统一的数据结构,其中所述统一的数据结构包括多个字段,并且每个计算端根据数据对比配置文件对所述转换后的第一数据集和第二数据集中的所述多个数据项中的部分数据项进行对比。
优选地,所述客户端可以在web页面上实现对所述第一数据集和所述第二数据集的选择以及对所述数据对比配置文件的配置。
优选地,所述客户端在所述数据对比配置文件中定义了用于区分各数据项的关键字段,并且所述多个计算端在从转换任务进入对比任务时,根据所述关键字段对数据项进行排序,并且每个计算端所对比的是所述第一数据集和所述第二数据集中关键字段相同或相应的部分数据项。
优选地,所述客户端指明了所述第一数据集和所述第二数据集中各自包括的多个数据项的初始数据类型,所述多个计算端基于所述初始数据类型使用工厂函数将所述多个数据项转换成统一的数据结构。
优选地,所述客户端在所述数据对比配置文件中定义了所述数据结构中至少一个字段的比较方式和/或用于实现至少一个字段比较的扩展脚本,所述多个计算端根据所述比较方式和/或所述扩展脚本对所述至少一个字段进行比较。。
优选地,每个计算端在转换任务和对比任务中处理相同或不同的数据项。
根据本发明的数据对比方法、装置和系统,能够为海量数据对比提供一个分布式对比平台,由此提升数据处理效率并减轻对人为编写对比任务脚本的需求。
附图说明
通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
图1示出了可以实施本发明方案的系统的例子。
图2示出了根据本发明一个实施例的数据对比方法。
图3示出了根据本发明一个实施例的数据对比装置。
图4示出了根据本发明一个实施例的数据对比系统。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
大型系统数据对比由于需要处理的数据量特别大,通常由于内存限制而无法在单机上实现。另外,现有技术中为每个系统专门开发的对比脚本运行一次时间过长。在数据类型多样的情况下,还需要开发多个脚本。上述问题都导致了现有技术中针对大数据(例如,PB级数据,即,2的50次方字节的数据)的数据对比方案效率低下。
鉴于上述问题,本发明通过开发一个分布式数据对比系统,并配套提供一个客户端(例如,使用前端),使得只需在客户端进行一些配置操作就能够实现高效快速的数据对比并能实现对比结果的直观查看。
本发明实施例所提供数据一致性对比方法可应用于如图1所示的系统。参考图1所示,需要进行对比的数据集A和数据集B可以是计算机集群中的数据,比如,分别可以是大数据集群进行系统更替时的更替前和更替后的大数据,分别可以是集群中进行算法优化所对应的优化前的计算结果和优化后的计算结果,也分别可以是从一个计算机集群迁移到另一个计算机集群所对应的迁移前的数据和迁移后的数据,等等。需要进行对比的数据集A和数据集B可能会具有不同的数据格式,不同的数据存储方式,并且其数据量的大小也可能不同。
分布式计算架构106通常包括多个计算设备,例如能够并行执行计算任务的上千甚至几万台通过网络连接的计算机。能够实现本发明数据对比方案的分布式行计算架构106可以从例如存储有数据集A和数据集B的计算机集群102和104中读取数据集A和B,并将数据集中包含的数据项转换为统一格式。随后,分布式计算架构106可以根据例如来自客户端110的数据对比配置文件来对在前读取并转换格式的数据集A和数据集B进行对比。在数据对比过程中,可以为每个数据项建立索引方便后续查询,并收集相关数据并最后生成一份数据对比统计数据。上述索引和统计数据可以放入数据库108,并由客户端110在需要时读取。客户端110也可以直接从分布式计算架构106获取上述统计数据或索引。虽然未在图1中示出具体网络,但本领域人员应该理解的是,图中箭头指示可以表示网络连接,由此实现如箭头所示的数据传送。例如,图中的各部分可以都连接在因特网内,或是同一企业的内部网络内,由此实现图中的数据收发。
如下将结合图2详述根据本发明一个实施例的数据对比方法。该方法可以利用分布式计算架构(例如,图1中的106)实现,并且能够对大数据进行快速高效的处理。
在步骤210,利用分布式计算架构对获取的第一数据集和第二数据集中各自包含的多个数据项进行转换,使得转换后的数据项具有统一的数据结构,其中所述统一的数据结构包括多个字段。
在一个实施例中,例如图1的分布式计算架构106可以根据来自用户(经由客户端110)的需要进行对比的数据路径来读取第一数据集和第二数据集(例如,图1中的数据集A和B)。分布式计算架构也可以根据预先存储或是获取的数据路径信息读取数据集A和B。在一个实施例中,数据集A和B可以分别对应于系统升级前和升级后的用户数据。数据集A和B通常分别含有多个数据项。对于大型系统而言,可能是几千、几万、甚至百万或是上亿的数据项。
例如,数据集A对应于地图应用(例如,高德地图)升级前以格式a存储的1000万条用户信息(对应于1000万个数据项)。每个数据项都含有多个字段,例如分别用来存储用户ID、用户名、密码、头像、收藏地点和导航历史等信息。数据集B可以对应于该地图应用升级后以格式b存储的用户信息(可以同样是1000万条,也可以更多或是更少),并且数据集B中的每个数据项也含有多个字段。根据实际情况,数据集B中各数据项所包含的字段可以与数据集A中的相同或是不同。例如,如果系统在升级后上线了付费用户功能,则数据集B中的部分或是全部数据项会多出一个或多个有关付费用户信息的字段。分布式计算架构可以根据数据路径来读取分别包括多个数据项且数据项内包括多个字段的数据集A和数据集B。
在数据读取任务中,可以通过工厂方法实现数据的读取。在一个实施例中,利用分布式计算架构基于第一数据集和第二数据集中各自包括的多个数据项的初始数据类型使用工厂函数将多个数据项转换成统一的数据结构。例如,用户可以在客户端指定要读取的数据集中各数据项的存储格式(例如,以json格式或是xml格式存储的数据),分布式计算架构可以根据用户指定或者自行选择不同的读取方法,利用工厂函数定制不同类型的读取模块,将各种类型的原始数据转换成统一的对比程序内部数据结构。在实际应用中,例如可以采用c++的map结构,python的dict结构等用作统一数据结构。
在步骤220,利用所述分布式计算架构根据数据对比配置文件对转换后的第一数据集和第二数据集中的多个数据项进行对比。
数据对比配置文件是用户用来配置数据对比任务的文件。用户可以在客户端110上来对要进行的数据对比任务进行配置,并且根据具体实现该配置文件可以简单也可以详尽。用户可以选取已有的配置文件模板,也可以自行对配置文件进行编辑。在一个实施例中,配置文件可以额外包含用于在前数据获取或转换步骤的信息。例如,配置文件可以包括用于获取第一数据集和第二数据集的路径,还可以指定要获取或是要转换的数据类型。上述用于在前数据获取或转换步骤的信息也可以单独发送而不位于该数据对比配置文件内。在一个优选实施例中,用户可以仅仅通过配置一个数据对比配置文件,就能够利用分布式计算架构实现数据的获取、转换、对比以及统计内容的推送。
在一个实施例中,数据对比配置文件定义了用于区分各数据项的关键字段。优选地,关键字段可以是用于描述一条数据项的唯一性的字段,例如上述地图应用升级例子中的用户ID。关键字段也可以是用于区分数据项的其他字段,例如,重复使用的编号,只要在单次对比中能够与其他数据项加以区分即可。在定义了关键字段的情况下,数据项的对比就可以是对第一数据集和第二数据集中关键字段相同或相应的数据项的其他至少一个字段进行比较,由此确保进行两两对比的数据项是所指相同数据项。系统升级前后的用户ID格式可能不一样,例如,从升级前的ID 1234567变为升级后的ID GD1234567,但只要指示相同用户的数据项仍然能够对应的上,则数据对比仍能顺利进行。
在一个实施例中,分布式计算架构按照所述关键字段对第一数据集和第二数据集中多个数据项的排序来对关键字段相同或相应的数据项进行比较。例如,分布式计算架构可以根据一定的法则对关键字段进行排序,由此使得分布式计算架构中的每个计算端能够对第一数据集和第二数据集中ID相同或相应的多个用户数据进行对比。
在这里,“排序”可以指代任何规则下的排序,只要分布式计算架构内的各计算端知晓即可。例如,可以按照用户ID对1000万个用户进行顺序排序,分布式计算架构中的每一个计算端可以读取ID连续的多个数据项进行对比。例如,某个计算端可以从数据集A和B中分别获取ID从30001到40000的10000个数据项进行对比。在其他的实施例中,也可以按照其他的规则来进行排序。
在一个实施例,按照关键字段对第一数据集和第二数据集中多个数据项的排序是由分布式计算架构进入对比步骤时自行做出的。分布式程序在任务间传递数据时会对数据进行自动排序,利用这一特点,本发明的数据对比方案能够将转换成统一结构的数据从数据读取任务传递到数据对比任务时按关键字段进行排序,使得关键字段值相同或相应的数据项在数据对比任务中取数据时,一定是被连续取出来。例如,可以以每个整数万作为关键字,并将这1000个关键字(例如,针对1000万个用户)按照计算端的数量进行哈希操作(hash),并且按照哈希值分配每个计算端要对比的数据,由此确保所有关键字相同的数据项都落在同一个计算端上进行对比。
在一个实施例中,用户可以在数据对比配置文件中定义数据结构中至少一个字段的比较方式。例如,用户可以定义包括关键字段在内的每个字段的比较方式,例如使用整数对比用户ID和年龄,使用二进制值对比用户性别,使用字符串对比用户姓名等等。在一个实施例中,可以是数据对比配置文件和默认设置各自定义了数据结构中至少一个字段的比较方式。例如,针对用户没有指定的字段,可以根据默认设置来进行对比。
在一个实施例中,数据对比配置文件还可以包括用于实现至少一个字段比较的扩展脚本。分布式计算架构可以基于所述扩展脚本对所述至少一个字段进行对比。例如,用户头像可以使用在扩展脚本里自定义的图像对比方法进行对比。通过扩展脚本的引入,实现了分布式对比平台的扩展性。
本发明中的数据对比配置文件,可以从最简单的仅指明数据类型,到详述对于哪些字段使用哪些数据对比方法。数据对比方法可以是简单的字符串相等,也可以是用户自行开发的一段脚本代码。由此,为本发明的分布式数据对比平台提供了极大的灵活性和可塑性。
本发明的数据对比方案基于分布式计算架构,例如可以是阿里内部的飞天系统,也可以是开源的hadoop系统。分布式计算架构通常包括多个用于执行具体的转换和对比任务的计算端。在转换步骤中,每个计算端对第一数据集和/或第二数据集中的部分数据项进行转换。例如,一个计算端可以只对第一数据集的部分数据项进行转换,只对第二数据集的部分数据项进行转换,或是对第一和第二数据集的部分数据项进行转换。在具体实践中对其没有规定。在对比步骤中,每个计算端对第一数据集和第二数据集中的部分数据项进行对比。例如,对关键字段相同或相应的分别来自第一和第二数据集的数据项进行对比。由于分布式系统在进入对比任务时自动排序的特点(例如,利用关键字进行哈希操作),因此每个计算端在转换步骤和对比步骤中处理的通常是完全不同的数据项。
如上参考图2描述了根据本发明的数据对比方法,如下将参考图3-4描述根据本发明的数据对比装置和系统。
图3示出了根据本发明一个实施例的数据对比装置。数据对比装置300可以包括数据结构转换单元310和数据项对比单元320。
数据结构转换单元310利用分布式计算架构对获取的第一数据集和第二数据集中各自包含的多个数据项进行转换,使得转换后的数据项具有统一的数据结构,其中所述统一的数据结构包括多个字段。
数据项对比单元320利用分布式计算架构根据数据对比配置文件对所述转换后的第一数据集和第二数据集中的所述多个数据项进行对比。
在一个实施例中,数据对比配置文件定义了用于区分各数据项的关键字段。数据项对比单元320对第一数据集和所述第二数据集中关键字段相同或相应的数据项的其他至少一个字段进行比较。
在一个实施例中,数据项对比单元320根据所述关键字段对所述第一数据集和所述第二数据集中多个数据项的排序来对关键字段相同或相应的数据项的其他至少一个字段进行比较。
在一个实施例中,数据对比配置文件还可以包括用于实现至少一个字段比较的扩展脚本,并且所述数据项对比单元基于所述扩展脚本对所述至少一个字段进行对比。
在一个实施例中,数据结构转换单元310基于第一数据集和第二数据集中各自包括的多个数据项的初始数据类型使用工厂函数将所述多个数据项转换成统一的数据结构。
在一个实施例中,数据对比装置300例如可以是位于分布式计算架构中计算端上的功能性装置。每个计算端中的数据结构转换单元对所述第一数据集和/或所述第二数据集中的部分数据项进行转换,每个计算端的数据项对比单元对所述第一数据集和所述第二数据集中的部分数据项进行转换,并且每个计算端在所述数据结构转换单元和所述数据项对比单元处理相同或不同的数据项。
图4示出了根据本发明一个实施例的数据对比系统。数据对比系统包括分布式计算架构410和客户端420。该数据对比系统可以是图1中分布式计算架构106和客户端110的一个具体实现。
客户端420选择要进行对比的第一数据集和第二数据集,配置数据对比配置文件并将配置好的数据对比配置文件发送至分布式计算架构410。
在一个实施例中,客户端420可以在web页面上实现对所述第一数据集和第二数据集的选择。例如,可以在web页面上填写需要进行对比的数据路径,并指定数据类型。客户端420还可以在web页面上实现对数据对比配置文件的配置。例如,客户端420可以编写自定义的配置文件模板,并根据需要选取合适的模板,指定关键字段,选择对哪些字段使用哪些对比方法,并在需要时编写扩展脚本以实现对比方法的扩展性。
分布式计算架构410包括分布式连接的多个计算端410_1…N。分布式计算架构410在获取用户提交的数据对比请求之后,将获取的用户请求信息填充到数据对比程序的启动配置文件中,并启动数据对比程序。
在数据对比任务中,按配置文件的描述,对数据的每个字段进行对比,在数据对比过程中,可以为每条数据项建立索引方便后续查询,并收集相关数据并最后生成一份数据对比统计数据。上述索引也可以仅针对对比结果不同的数据项来建立。具体地,每个计算端对获取的第一数据集和/或第二数据集中各自包含的多个数据项中的部分数据项进行转换,使得转换后的数据项具有统一的数据结构,其中统一的数据结构包括多个字段。每个计算端根据数据对比配置文件对转换后的第一数据集和第二数据集中的所述多个数据项中的部分数据项进行对比。待数据对比程序运行结束,获取数据对比程序生成的统计数据,将统计数据返回至客户端420进行展示。
上文中已经参考附图详细描述了根据本发明的数据对比方法、装置和系统。本发明通过提供一个分布式数据对比平台来满足大型系统内部的大数据对比需求,例如可以支持高德地图的信息流重构全量数据对比测试。通过以平台的方式开放数据对比服务,还解决了数据对比没法复用的问题。本平台支持多种数据类型,并能够通过工厂函数读取并转化为统一格式。由于数据对比后台为分布式运行,还提升了对比效率。通过为每个数据项建立索引,还能够方便问题的排查。另外,数据对比平台可以采用常用语言,例如c++开发,以便与大部分系统开发代码兼容,由此解决数据读取不方便的问题。
此外,根据本发明的方法还可以实现为一种计算机程序,该计算机程序包括用于执行本发明的上述方法中限定的上述各步骤的计算机程序代码指令。或者,根据本发明的方法还可以实现为一种计算机程序产品,该计算机程序产品包括计算机可读介质,在该计算机可读介质上存储有用于执行本发明的上述方法中限定的上述功能的计算机程序。本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。
附图中的流程图和框图显示了根据本发明的多个实施例的系统和方法的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标记的功能也可以以不同于附图中所标记的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (11)
1.一种数据对比方法,包括:
转换步骤,利用分布式计算架构对获取的第一数据集和第二数据集中各自包含的多个数据项进行转换,所述分布式计算架构包括多个计算端,每个计算端对获取的第一数据集和/或第二数据集中各自包含的多个数据项中的部分数据项进行转换,使得转换后的数据项具有统一的数据结构,其中所述统一的数据结构包括多个字段;
对比步骤,利用所述分布式计算架构根据数据对比配置文件对所述转换后的第一数据集和第二数据集中的所述多个数据项进行对比,
其中,所述数据对比配置文件定义了用于区分各数据项的关键字段,并且,所述对比步骤包括:
所述分布式计算架构按照所述关键字段对所述第一数据集和所述第二数据集中多个数据项的排序来对关键字段相同或相应的数据项进行比较,
其中,按照所述关键字段对所述第一数据集和所述第二数据集中多个数据项的排序是由所述分布式计算架构进入对比步骤时自行做出的,使得关键字段值相同或相应的数据项在所述对比步骤中被连续取出,并且每个计算端所对比的是所述第一数据集和所述第二数据集中关键字段相同或相应的部分数据项,
其中,每个计算端在所述转换步骤和所述对比步骤中处理相同或不同的数据项。
2.如权利要求1所述的方法,其中,所述数据对比配置文件定义了所述数据结构中至少一个字段的比较方式;或者
所述数据对比配置文件和默认设置各自定义了所述数据结构中至少一个字段的比较方式。
3.如权利要求1所述的方法,其中,所述数据对比配置文件还包括用于实现至少一个字段比较的扩展脚本,并且所述对比步骤还包括基于所述扩展脚本对所述至少一个字段进行对比。
4.如权利要求1所述的方法,其中,所述转换步骤包括:
利用分布式计算架构基于所述第一数据集和所述第二数据集中各自包括的多个数据项的初始数据类型使用工厂函数将所述多个数据项转换成统一的数据结构。
5.一种数据对比装置,包括:
数据结构转换单元,用于利用分布式计算架构对获取的第一数据集和第二数据集中各自包含的多个数据项进行转换,所述分布式计算架构包括多个计算端,每个计算端对获取的第一数据集和/或第二数据集中各自包含的多个数据项中的部分数据项进行转换,使得转换后的数据项具有统一的数据结构,其中所述统一的数据结构包括多个字段;
数据项对比单元,用于利用分布式计算架构根据数据对比配置文件对所述转换后的第一数据集和第二数据集中的所述多个数据项进行对比,
其中,所述数据对比配置文件定义了用于区分各数据项的关键字段,并且,
所述数据项对比单元根据所述关键字段对所述第一数据集和所述第二数据集中多个数据项的排序来对关键字段相同或相应的数据项的其他至少一个字段进行比较,其中,所述多个计算端在从转换任务进入对比任务时,根据所述关键字段对数据项进行自动排序,使得关键字段值相同或相应的数据项在对比任务中被连续取出,并且每个计算端所对比的是所述第一数据集和所述第二数据集中关键字段相同或相应的部分数据项,
其中,每个计算端在所述数据结构转换单元和所述数据项对比单元处理相同或不同的数据项。
6.如权利要求5所述的装置,其中,所述数据对比配置文件还包括用于实现至少一个字段比较的扩展脚本,并且所述数据项对比单元基于所述扩展脚本对所述至少一个字段进行对比。
7.如权利要求5所述的装置,其中,所述数据结构转换单元基于所述第一数据集和所述第二数据集中各自包括的多个数据项的初始数据类型使用工厂函数将所述多个数据项转换成统一的数据结构。
8.一种数据对比系统,包括分布式计算架构和客户端,其中,
所述客户端选择要进行对比的第一数据集和第二数据集,配置数据对比配置文件并将所述数据对比配置文件发送至分布式计算架构,
所述分布式计算架构包括分布式连接的多个计算端,每个计算端对获取的第一数据集和/或第二数据集中各自包含的多个数据项中的部分数据项进行转换,使得转换后的数据项具有统一的数据结构,其中所述统一的数据结构包括多个字段,并且
每个计算端根据数据对比配置文件对所述转换后的第一数据集和第二数据集中的所述多个数据项中的部分数据项进行对比,
其中,所述客户端在所述数据对比配置文件中定义了用于区分各数据项的关键字段,并且所述多个计算端在从转换任务进入对比任务时,根据所述关键字段对数据项进行自动排序,使得关键字段值相同或相应的数据项在对比任务中被连续取出,并且每个计算端所对比的是所述第一数据集和所述第二数据集中关键字段相同或相应的部分数据项,
其中,每个计算端在转换任务和对比任务中处理相同或不同的数据项。
9.如权利要求8所述的系统,所述客户端在web页面上实现对所述第一数据集和上述第二数据集的选择以及对所述数据对比配置文件的配置。
10.如权利要求8所述的系统,其中,所述客户端指明了所述第一数据集和所述第二数据集中各自包括的多个数据项的初始数据类型,所述多个计算端基于所述初始数据类型使用工厂函数将所述多个数据项转换成统一的数据结构。
11.如权利要求8所述的系统,其中,所述客户端在所述数据对比配置文件中定义了所述数据结构中至少一个字段的比较方式和/或用于实现至少一个字段比较的扩展脚本,所述多个计算端根据所述比较方式和/或所述扩展脚本对所述至少一个字段进行比较。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611117718.4A CN106503268B (zh) | 2016-12-07 | 2016-12-07 | 数据对比方法、装置和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611117718.4A CN106503268B (zh) | 2016-12-07 | 2016-12-07 | 数据对比方法、装置和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106503268A CN106503268A (zh) | 2017-03-15 |
CN106503268B true CN106503268B (zh) | 2019-08-23 |
Family
ID=58330274
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611117718.4A Active CN106503268B (zh) | 2016-12-07 | 2016-12-07 | 数据对比方法、装置和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106503268B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107688618B (zh) * | 2017-08-08 | 2019-03-12 | 平安科技(深圳)有限公司 | 数据对比方法、装置、计算机设备和存储介质 |
CN108038125B (zh) * | 2017-11-07 | 2021-06-01 | 平安科技(深圳)有限公司 | 基金系统测试值的自动对比方法、装置、设备及存储介质 |
CN109840265B (zh) * | 2018-12-26 | 2020-11-10 | 出门问问信息科技有限公司 | Json结构转换方法、装置、设备及存储介质 |
CN110457527B (zh) * | 2019-08-16 | 2023-02-28 | 安徽航天信息有限公司 | 一种xml报文比对方法及系统 |
CN111831572A (zh) * | 2020-07-24 | 2020-10-27 | 北京思特奇信息技术股份有限公司 | 一种实现xml-json的批量比对测试方法和装置 |
CN112346988A (zh) * | 2020-11-26 | 2021-02-09 | 恩亿科(北京)数据科技有限公司 | 一种数据测试方法、系统及数据筛选器 |
CN113987016B (zh) * | 2021-10-25 | 2023-08-15 | 上海太美数字科技有限公司 | 临床递交数据对比方法、装置、计算机设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102073912A (zh) * | 2009-11-23 | 2011-05-25 | 中国移动通信集团黑龙江有限公司 | 数据质量控制方法、装置及系统 |
CN102831127A (zh) * | 2011-06-17 | 2012-12-19 | 阿里巴巴集团控股有限公司 | 重复数据处理方法、装置及系统 |
CN103812726A (zh) * | 2014-01-26 | 2014-05-21 | 烽火通信科技股份有限公司 | 一种数据通信设备的自动化测试方法及装置 |
CN104391903A (zh) * | 2014-11-14 | 2015-03-04 | 广州科腾信息技术有限公司 | 一种基于分布存储和并行计算的电网数据质量检测方法 |
CN105976302A (zh) * | 2016-05-05 | 2016-09-28 | 北京思特奇信息技术股份有限公司 | 一种可配置的数据比对方法及系统 |
-
2016
- 2016-12-07 CN CN201611117718.4A patent/CN106503268B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102073912A (zh) * | 2009-11-23 | 2011-05-25 | 中国移动通信集团黑龙江有限公司 | 数据质量控制方法、装置及系统 |
CN102831127A (zh) * | 2011-06-17 | 2012-12-19 | 阿里巴巴集团控股有限公司 | 重复数据处理方法、装置及系统 |
CN103812726A (zh) * | 2014-01-26 | 2014-05-21 | 烽火通信科技股份有限公司 | 一种数据通信设备的自动化测试方法及装置 |
CN104391903A (zh) * | 2014-11-14 | 2015-03-04 | 广州科腾信息技术有限公司 | 一种基于分布存储和并行计算的电网数据质量检测方法 |
CN105976302A (zh) * | 2016-05-05 | 2016-09-28 | 北京思特奇信息技术股份有限公司 | 一种可配置的数据比对方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN106503268A (zh) | 2017-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106503268B (zh) | 数据对比方法、装置和系统 | |
CN107766940B (zh) | 用于生成模型的方法和装置 | |
US20170323200A1 (en) | Estimating cardinality selectivity utilizing artificial neural networks | |
US20150089309A1 (en) | Troubleshooting based on log similarity | |
US20160292591A1 (en) | Streamlined analytic model training and scoring system | |
CN109871311B (zh) | 一种推荐测试用例的方法和装置 | |
He et al. | Parallel implementation of classification algorithms based on MapReduce | |
CN106897322A (zh) | 一种数据库和文件系统的访问方法和装置 | |
CN114424257A (zh) | 使用机器学习对表格数据进行自动描绘和提取 | |
US20220004914A1 (en) | Code generation for auto-ai | |
CN110866029B (zh) | sql语句构建方法、装置、服务器及可读存储介质 | |
CN106599194A (zh) | 标签确定方法及装置 | |
CN106528823B (zh) | 一种报文配置及输出方法及装置 | |
CN110489087A (zh) | 一种生成分形结构的方法、装置、介质和电子设备 | |
WO2017040209A1 (en) | Data preparation for data mining | |
CN106445645B (zh) | 用于执行分布式计算任务的方法和装置 | |
WO2024036662A1 (zh) | 一种基于数据采样的并行图规则挖掘方法及装置 | |
US20230020389A1 (en) | Executing a Quantum Logic Circuit on Multiple Processing Nodes | |
US20180129544A1 (en) | Suggesting Application Programming Interfaces Based on Feature and Context Analysis | |
CN110837356A (zh) | 一种数据处理方法和装置 | |
CN110888876A (zh) | 生成数据库脚本的方法、装置、存储介质及计算机设备 | |
CN106326904A (zh) | 获取特征排序模型的装置和方法以及特征排序方法 | |
US10705810B2 (en) | Automatic code generation | |
CN113557534A (zh) | 深度森林模型开发和训练 | |
CN109933727A (zh) | 用户画像生成方法及系统、用户画像应用方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20200810 Address after: 310052 room 508, floor 5, building 4, No. 699, Wangshang Road, Changhe street, Binjiang District, Hangzhou City, Zhejiang Province Patentee after: Alibaba (China) Co.,Ltd. Address before: 510627 Guangdong city of Guangzhou province Whampoa Tianhe District Road No. 163 Xiping Yun Lu Yun Ping square B radio tower 13 layer self unit 01 Patentee before: Guangdong Shenma Search Technology Co.,Ltd. |