CN106528575A - 数据对接方法和装置 - Google Patents
数据对接方法和装置 Download PDFInfo
- Publication number
- CN106528575A CN106528575A CN201510584048.6A CN201510584048A CN106528575A CN 106528575 A CN106528575 A CN 106528575A CN 201510584048 A CN201510584048 A CN 201510584048A CN 106528575 A CN106528575 A CN 106528575A
- Authority
- CN
- China
- Prior art keywords
- data
- snapshot
- tables
- value
- dimension field
- 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.)
- Granted
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/23—Updating
-
- 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/21—Design, administration or maintenance of databases
- G06F16/219—Managing data history or versioning
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种数据对接方法和装置。该方法包括:确定第一数据表、第二数据表和共有维度字段;根据第一数据表生成快照表,其中,快照表中包括至少一条快照记录,每条快照记录中至少包括与该条快照记录对应的唯一标识符、共有维度字段的值和生成快照记录的时间,且每条快照记录对应的唯一标识符不会发生变化;检测第一数据表中共有维度字段的值是否发生变化;当检测出第一数据表中共有维度字段的值发生变化时,更新快照表;以及基于更新后的快照表对第一数据表和第二数据表进行数据对接。通过本申请,解决了相关技术中数据表中共有维度字段的值发生变化,导致数据表中的数据无法进行对接的问题。
Description
技术领域
本申请涉及数据处理领域,具体而言,涉及一种数据对接方法和装置。
背景技术
在多个系统的数据表中分别存放了不同的数据且两份数据之间存在一些共有维度字段,多个数据表之间可以依据这些共有维度字段,将数据表中的数据进行对接,进而进行后续的数据分析工作。当其中某个系统的数据表的共有维度字段的值随着时间变动时,那么该系统与其它系统的数据表进行对接时就会存在问题。
例如,广告管理系统A和网站监测系统B存在共有维度字段,即广告的来源渠道(例如,广告的来源渠道名称为搜狐或者新浪等)和广告的内容(例如广告标题),系统A用于实时统计每一个广告的点击量等数据,系统B用于实时监测每一个广告产生的订单量等数据。但是,在系统A中,与系统B的共有维度字段的值会随着广告投放列表的值随时发生变化,该广告投放列表中至少记载了广告的来源渠道和广告的内容(与上述的共有维度字段相同),也即:只要广告投放列表发生变化,在系统A的数据表中,相应共有维度字段的值会全部随之发生改变,包括在广告投放列表发生变化之前的历史数据。而在系统B中,只有广告投放列表发生变化时和变化之后记载在数据表中相应的共有维度字段的值会随之改变,而并不会改变广告投放列表发生变化之前记载在数据表中相应的共有维度字段的值。因此,在将系统A和系统B进行数据对接时,由于二者共有维度字段的值发生变化,导致二者的数据无法进行对接。
针对相关技术中数据表中共有维度字段的值发生变化,导致数据表中的数据无法进行对接的问题,目前尚未提出有效的解决方案。
发明内容
本申请的主要目的在于提供一种数据对接方法和装置,以解决相关技术中数据表中共有维度字段的值发生变化,导致数据表中的数据无法进行对接的问题。
为了实现上述目的,根据本申请的一个方面,提供了一种数据对接方法。该方法包括:确定第一数据表、第二数据表和共有维度字段,其中,第一数据表和第二数据表为需要进行数据对接的数据表,共有维度字段为第一数据表和第二数据表中相同的维度字段;根据第一数据表生成快照表,其中,快照表中包括至少一条快照记录,每条快照记录中至少包括与该条快照记录对应的唯一标识符、共有维度字段的值和生成快照记录的时间,且每条快照记录对应的唯一标识符不会发生变化;检测第一数据表中共有维度字段的值是否发生变化;当检测出第一数据表中共有维度字段的值发生变化时,更新快照表;以及基于更新后的快照表对第一数据表和第二数据表进行数据对接。
进一步地,当检测出第一数据表中共有维度字段的值发生变化时,更新快照表包括:确定第一数据表中共有维度字段的值发生变化的时间和变化后的共有维度字段的值;根据第一数据表中值发生变化的共有维度字段对应的唯一标识符、共有维度字段的值的值发生变化的时间和变化后的共有维度字段的值生成快照记录,其中,快照记录包括的生成快照记录时间为第一数据表中共有维度字段的值发生变化的时间;以及将快照记录添加至快照表中以更新快照表。
进一步地,基于更新后的快照表对第一数据表和第二数据表进行数据对接包括:确定数据对接时间,其中,数据对接时间为第一数据表和第二数据表需要进行数据对接的时间;在更新后的快照表中,分别获取每一个唯一标识符对应的至少一条快照记录;分别在获取到的每一个唯一标识符对应的至少一条快照记录中,根据生成快照记录的时间查询在数据对接时间与每一个唯一标识符对应的目标快照记录,并获取目标快照记录中的共有维度字段的值;根据数据对接时间、每一个唯一标识符、与每一个唯一标识符对应的目标快照记录中的共有维度字段的值生成第一数据表的目标数据表;以及根据第一数据表的目标数据表与第二数据表的共有维度字段进行数据对接。
进一步地,根据生成快照记录的时间查询在数据对接时间与每一个唯一标识符对应的目标快照记录包括:分别判断每一个唯一标识符对应的至少一条快照记录中,是否存在生成快照记录的时间为数据对接时间的快照记录;如果存在生成快照记录的时间为数据对接时间的快照记录,则将该快照记录作为目标快照记录;以及如果不存在生成快照记录的时间为数据对接时间的快照记录,则分别在每一个唯一标识符对应的至少一条快照记录中,将生成快照记录的时间满足如下条件的快照记录作为目标快照记录:在数据对接时间之前,并且与数据对接时间间隔满足预设条件。
进一步地,检测第一数据表中共有维度字段的值是否发生变化包括:检测第一数据表中是否存在新建共有维度字段的值、或编辑共有维度字段的值、或删除共有维度字段的值的情况;当第一数据表中存在新建共有维度字段的值、或编辑共有维度字段的值、或删除共有维度字段的值的情况,确定第一数据表中共有维度字段的值发生变化;以及当第一数据表中不存在新建共有维度字段的值的情况、且不存在编辑共有维度字段的值的情况、且不存在删除共有维度字段的值的情况,确定第一数据表中共有维度字段的值没有发生变化。
为了实现上述目的,根据本申请的另一方面,提供了一种数据对接装置。该装置包括:确定单元,用于确定第一数据表、第二数据表和共有维度字段,其中,第一数据表和第二数据表为需要进行数据对接的数据表,共有维度字段为第一数据表和第二数据表中相同的维度字段;生成单元,用于根据第一数据表生成快照表,其中,快照表中包括至少一条快照记录,每条快照记录中至少包括与该条快照记录对应的唯一标识符、共有维度字段的值和生成快照记录的时间,且每条快照记录对应的唯一标识符不会发生变化;检测单元,用于检测第一数据表中共有维度字段的值是否发生变化;更新单元,用于当检测出第一数据表中共有维度字段的值发生变化时,更新快照表;以及数据对接单元,用于基于更新后的快照表对第一数据表和第二数据表进行数据对接。
进一步地,更新单元包括:第一确定模块,用于确定第一数据表中共有维度字段的值发生变化的时间和变化后的共有维度字段的值;第一生成模块,用于根据第一数据表中值发生变化的共有维度字段对应的唯一标识符、共有维度字段的值的值发生变化的时间和变化后的共有维度字段的值生成快照记录,其中,快照记录包括的生成快照记录时间为第一数据表中共有维度字段的值发生变化的时间;以及更新模块,用于将快照记录添加至快照表中以更新快照表。
进一步地,数据对接单元包括:第二确定模块,用于确定数据对接时间,其中,数据对接时间为第一数据表和第二数据表需要进行数据对接的时间;第一获取模块,用于在更新后的快照表中,分别获取每一个唯一标识符对应的至少一条快照记录;第二获取模块,用于分别在获取到的每一个唯一标识符对应的至少一条快照记录中,根据生成快照记录的时间查询在数据对接时间与每一个唯一标识符对应的目标快照记录,并获取目标快照记录中的共有维度字段的值;第二生成模块,用于根据数据对接时间、每一个唯一标识符、与每一个唯一标识符对应的目标快照记录中的共有维度字段的值生成第一数据表的目标数据表;以及数据对接模块,用于根据第一数据表的目标数据表与第二数据表的共有维度字段进行数据对接。
进一步地,第二获取模块包括:判断子模块,用于分别判断每一个唯一标识符对应的至少一条快照记录中,是否存在生成快照记录的时间为数据对接时间的快照记录;第一确定子模块,用于在存在生成快照记录的时间为数据对接时间的快照记录的情况下,则将该快照记录作为目标快照记录;以及第二确定子模块,用于在不存在生成快照记录的时间为数据对接时间的快照记录的情况下,则分别在每一个唯一标识符对应的至少一条快照记录中,将生成快照记录的时间满足如下条件的快照记录作为目标快照记录:在数据对接时间之前,并且与数据对接时间间隔满足预设条件。
进一步地,检测单元包括:检测模块,用于检测第一数据表中是否存在新建共有维度字段的值、或编辑共有维度字段的值、或删除共有维度字段的值的情况;第三确定模块,用于当第一数据表中存在新建共有维度字段的值、或编辑共有维度字段的值、或删除共有维度字段的值的情况,确定第一数据表中共有维度字段的值发生变化;以及第四确定模块,用于当第一数据表中不存在新建共有维度字段的值的情况、且不存在编辑共有维度字段的值的情况、且不存在删除共有维度字段的值的情况,确定第一数据表中共有维度字段的值没有发生变化。
通过本申请,采用以下步骤:确定第一数据表、第二数据表和共有维度字段;根据第一数据表生成快照表,其中,快照表中包括至少一条快照记录,每条快照记录中至少包括与该条快照记录对应的唯一标识符、共有维度字段的值和生成快照记录的时间,且每条快照记录对应的唯一标识符不会发生变化;检测第一数据表中共有维度字段的值是否发生变化;当检测出第一数据表中共有维度字段的值发生变化时,更新快照表;以及基于更新后的快照表对第一数据表和第二数据表进行数据对接,解决了相关技术中数据表中共有维度字段的值发生变化,导致数据表中的数据无法进行对接的问题,基于更新后的快照表对第一数据表和第二数据表进行数据对接,进而达到了提升数据对接准确性的效果。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的数据对接方法的流程图;以及
图2是根据本申请实施例的数据对接装置的示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本申请的实施例,提供了一种数据对接方法。
图1是根据本申请实施例的数据对接方法的流程图。如图1所示,该方法包括以下步骤:
步骤S101,确定第一数据表、第二数据表和共有维度字段,其中,第一数据表和第二数据表为需要进行数据对接的数据表,共有维度字段为第一数据表和第二数据表中相同的维度字段。
一个数据表可以包含多个维度字段,维度字段是数据的描述信息,是将数据分类的属性,维度字段的值即为该条数据信息该属性的具体内容。例如,在一个广告管理系统中,当前的广告投放列表如下表1所示:
表1
广告ID | 投放媒体 | 广告名称 | 广告描述 | 创建时间 |
101 | 百度 | 酒店广告 | 酒店广告 | 2015.2.102:00:00 |
102 | 百度 | 订床广告 | 订床广告 | 2015.2.20:00:00 |
103 | 新浪 | 酒店预订广告 | 酒店预订广告 | 2015.2.810:00:00 |
104 | 搜狐 | 旅游酒店广告 | 旅游酒店广告 | 2015.2.116:00:00 |
105 | 搜狐 | 机票广告 | 机票广告 | 2015.2.820:00:00 |
在这个广告投放列表中,投放媒体和广告名称是其中的两个维度字段,其中,每条数据都包含上述的两个维度字段,所有的数据都可以根据这两个维度字段之一对数据进行分类。
还需要说明的是,在本实施例中,上述的第一数据表为广告管理系统统计每一个广告的点击量等数据的数据表,在该数据表中,至少包括上述广告投放列表表1中列出的维度字段,还可以包括点击量等维度字段,在此不一一列出。
若一个数据表的某些维度字段与另一个数据表内的某些维度字段相同,则这些维度字段称为两个数据表之间的共有维度字段。具体的判断过程可以是,确定出两个需要进行数据对接的数据表之后,对比两个需要进行数据对接的数据表的维度字段名称,将名称相同的维度字段识别出来,即为两个数据表的共有维度字段。
在本实施例中,假设第二数据表为网站监测系统的数据表,在该数据表中也存在投放媒体和广告名称两个维度字段,那么,投放媒体和广告名称即为广告管理系统的数据表与网站监测系统的数据表之间的共有维度字段。
步骤S102,根据第一数据表生成快照表,其中,快照表中包括至少一条快照记录,每条快照记录中至少包括与该条快照记录对应的唯一标识符、共有维度字段的值和生成快照记录的时间,且每条快照记录对应的唯一标识符不会发生变化。
例如,根据表1生成快照表,得到表1的快照表如下表2所示:
表2
快照ID | 快照时间 | 快照广告ID | 快照投放媒体 | 快照广告名称 |
1 | 2015.2.102:00:00 | 101 | 百度 | 酒店广告 |
2 | 2015.2.20:00:00 | 102 | 百度 | 订床广告 |
3 | 2015.2.810:00:00 | 103 | 新浪 | 酒店预订广告 |
4 | 2015.2.116:00:00 | 104 | 搜狐 | 旅游酒店广告 |
5 | 2015.2.820:00:00 | 105 | 搜狐 | 机票广告 |
在表2中,快照ID为1的快照记录中投放媒体为百度,广告名称为酒店广告,投放媒体和广告名称均为与第二数据表的共有维度字段,生成快照记录的时间为2015.2.102:00:00;该条快照记录对应的唯一标识符为广告ID=101,对该条快照记录起到唯一标识的作用,而且不论投放媒体和广告名称字段的值是否发生改变,该唯一标示符都不会发生变化。快照ID2-5与之相似,不再一一描述。
需要说明的是,步骤S102根据第一数据表生成快照表并不一定要在步骤S103检测第一数据表中共有维度字段的值是否发生变化之前,也可以在步骤S103之后且步骤S104之前,也可以与步骤S103同时进行,因此,本申请实施例的数据对接方法中提供的根据第一数据表生成快照表的执行顺序,并不局限于此。
步骤S103,检测第一数据表中共有维度字段的值是否发生变化。
按照预设周期,检测第一数据表中共有维度字段的值是否发生了变化。具体实现方式有多种方式,例如,在甲骨文(Oracle)数据库管理系统中,可以使用一个触发器,监测选定维度字段的值是否发生变化。令共有维度字段为选定的维度字段,当选定的维度字段的值发生变化时,触发器响应于该变化,会发出信号,通知系统该选定字段的值已修改。
可选地,在本申请实施例的数据对接方法中,检测第一数据表中共有维度字段的值是否发生变化还可以通过以下步骤实现:检测第一数据表中是否存在新建共有维度字段的值、或编辑共有维度字段的值、或删除共有维度字段的值的情况;当第一数据表中存在新建共有维度字段的值、或编辑共有维度字段的值、或删除共有维度字段的值的情况,确定第一数据表中共有维度字段的值发生变化;以及当第一数据表中不存在新建共有维度字段的值的情况、且不存在编辑共有维度字段的值的情况、且不存在删除共有维度字段的值的情况,确定第一数据表中共有维度字段的值没有发生变化。
例如,共有维度字段为广告名称,在新建广告名称的值或编辑广告名称的值或删除广告名称的值时,即认为共有维度字段的值发生了变化。
步骤S104,当检测出第一数据表中共有维度字段的值发生变化时,更新快照表。
优选地,在本申请实施例的数据对接方法中,当检测出第一数据表中共有维度字段的值发生变化时,更新快照表还可以通过以下步骤实现:确定第一数据表中共有维度字段的值发生变化的时间和变化后的共有维度字段的值;根据第一数据表中值发生变化的共有维度字段对应的唯一标识符、共有维度字段的值发生变化的时间和变化后的共有维度字段的值生成快照记录,其中,快照记录包括的生成快照记录时间为第一数据表中共有维度字段的值发生变化的时间;以及将快照记录添加至快照表中以更新快照表。
以步骤S101中的广告投放列表为例,仍然假设表1中的投放媒体和广告名称是共有维度字段,并假设在2015.2.282:00:00,广告ID=101的广告名称对应的值做了一次修改,将广告名称对应的酒店广告修改为订酒店广告,那么生成对应的快照记录如下表3所示:
表3
快照ID | 快照时间 | 快照广告ID | 快照投放媒体 | 快照广告名称 |
6 | 2015.2.282:00:00 | 101 | 百度 | 订酒店广告 |
将表3中的快照记录添加至快照表(表2)中以更新快照表,得到更新后的表2,如下表4所示:
表4
快照ID | 快照时间 | 快照广告ID | 快照投放媒体 | 快照广告名称 |
1 | 2015.2.102:00:00 | 101 | 百度 | 酒店广告 |
2 | 2015.2.20:00:00 | 102 | 百度 | 订床广告 |
3 | 2015.2.810:00:00 | 103 | 新浪 | 酒店预订广告 |
4 | 2015.2.116:00:00 | 104 | 搜狐 | 旅游酒店广告 |
5 | 2015.2.820:00:00 | 105 | 搜狐 | 机票广告 |
6 | 2015.2.282:00:00 | 101 | 百度 | 订酒店广告 |
步骤S105,基于更新后的快照表对第一数据表和第二数据表进行数据对接。
优选地,在本申请实施例的数据对接方法中,基于更新后的快照表对第一数据表和第二数据表进行数据对接还可以通过以下步骤实现:确定数据对接时间,其中,数据对接时间为第一数据表和第二数据表需要进行数据对接的时间;在更新后的快照表中,分别获取每一个唯一标识符对应的至少一条快照记录;分别在获取到的每一个唯一标识符对应的至少一条快照记录中,根据生成快照记录的时间查询在数据对接时间与每一个唯一标识符对应的目标快照记录,并获取目标快照记录中的共有维度字段的值;根据数据对接时间、每一个唯一标识符、与每一个唯一标识符对应的目标快照记录中的共有维度字段的值生成第一数据表的目标数据表;以及根据第一数据表的目标数据表与第二数据表的共有维度字段进行数据对接。
例如,数据对接时间为2015年2月27日,在表4中分别获取每一个唯一标识符对应的至少一条快照记录,如,唯一标识符为广告ID=101对应的快照记录为表5和表6中的2条快照记录。
表5
快照ID | 快照时间 | 快照广告ID | 快照投放媒体 | 快照广告名称 |
1 | 2015.2.102:00:00 | 101 | 百度 | 酒店广告 |
表6
快照ID | 快照时间 | 快照广告ID | 快照投放媒体 | 快照广告名称 |
6 | 2015.2.282:00:00 | 101 | 百度 | 订酒店广告 |
唯一标识符为广告ID=102对应的快照记录如表7所示:
表7
快照ID | 快照时间 | 快照广告ID | 快照投放媒体 | 快照广告名称 |
2 | 2015.2.20:00:00 | 102 | 百度 | 订床广告 |
获取到多个唯一标识符对应的至少一条快照记录,在此不一一列举。分别在获取到的每一个唯一标识符对应的至少一条快照记录中,根据生成快照记录的时间查询在数据对接时间(2015年2月27日)与每一个唯一标识符对应的目标快照记录,并获取目标快照记录中的共有维度字段的值。可选地,根据生成快照记录的时间查询在数据对接时间(2015年2月27日)与每一个唯一标识符对应的目标快照记录包括:分别判断每一个唯一标识符对应的至少一条快照记录中,是否存在生成快照记录的时间为数据对接时间的快照记录;如果存在生成快照记录的时间为数据对接时间的快照记录,则将该快照记录作为目标快照记录;以及如果不存在生成快照记录的时间为数据对接时间的快照记录,则分别在每一个唯一标识符对应的至少一条快照记录中,将生成快照记录的时间满足如下条件的快照记录作为目标快照记录:在数据对接时间之前,并且与数据对接时间间隔满足预设条件。
例如,分别判断每一个唯一标识符对应的至少一条快照记录中,是否存在生成快照记录的时间为2015年2月27日的快照记录;经过判断,广告ID=101至广告ID=105对应的快照记录中均没有生成快照记录的时间为2015年2月27日的快照记录,将在2015年2月27日之前,并且与2015年2月27日距离最近时间的,唯一标识符对应的快照记录作为目标快照记录。如,将唯一标识符为广告ID=101对应的快照记录为表5的快照记录作为广告ID=101的目标快照记录;将唯一标识符为广告ID=102对应的快照记录为表7的快照记录为广告ID=102的目标快照记录,等等,得到的目标数据表如下表8所示,其中,点击量维度字段为广告管理系统统计得到的每一个广告的点击量:
表8
日期 | 广告ID | 点击量 | 投放媒体 | 广告名称 |
2015.2.27 | 101 | 10 | 百度 | 酒店广告 |
2015.2.27 | 102 | 20 | 百度 | 订床广告 |
2015.2.27 | 103 | 30 | 新浪 | 酒店预订广告 |
2015.2.27 | 104 | 40 | 搜狐 | 旅游酒店广告 |
2015.2.27 | 105 | 50 | 搜狐 | 机票广告 |
在本实施例中,获取网站监测系统的数据表(即第二数据表)如下表9所示:
表9
日期 | 投放媒体 | 广告名称 | 订单量 |
2015.2.27 | 百度 | 酒店广告 | 1 |
2015.2.27 | 百度 | 订床广告 | 2 |
2015.2.27 | 新浪 | 酒店预订广告 | 2 |
2015.2.27 | 搜狐 | 旅游酒店广告 | 3 |
2015.2.27 | 搜狐 | 机票广告 | 3 |
对第一数据表和第二数据表进行数据对接,即将目标数据表表8和第二数据表表9进行数据对接,而由于表8和表9存在共有维度字段投放媒体和广告名称,因此可以顺利进行数据对接,对接后得到表10,如下所示:
表10
日期 | 广告ID | 点击量 | 投放媒体 | 广告名称 | 订单量 |
2015.2.27 | 101 | 10 | 百度 | 酒店广告 | 1 |
2015.2.27 | 102 | 20 | 百度 | 订床广告 | 2 |
2015.2.27 | 103 | 30 | 新浪 | 酒店预订广告 | 2 |
2015.2.27 | 104 | 40 | 搜狐 | 旅游酒店广告 | 3 |
2015.2.27 | 105 | 50 | 搜狐 | 机票广告 | 3 |
在表10中,数据已经对接完成,从表10中可以直接获知2015年2月27日每个广告的点击量以及分别带来了多少订单量,从而解决了相关技术中当两个数据表中共有维度字段的值发生变化时,导致这两个数据表中的数据无法进行对接的问题。通过本申请实施例提供的数据对接方法,用户可以在历史数据中选择各个时间段的数据进行数据对接,查看各个时间段的数据,从而也提升了用户的体验度。
本申请实施例提供的数据对接方法,通过确定第一数据表、第二数据表和共有维度字段;根据第一数据表生成快照表,其中,快照表中包括至少一条快照记录,每条快照记录中至少包括与该条快照记录对应的唯一标识符、共有维度字段的值和生成快照记录的时间,且每条快照记录对应的唯一标识符不会发生变化;检测第一数据表中共有维度字段的值是否发生变化;当检测出第一数据表中共有维度字段的值发生变化时,更新快照表;以及基于更新后的快照表对第一数据表和第二数据表进行数据对接,解决了相关技术中数据表中共有维度字段的值发生变化,导致数据表中的数据无法进行对接的问题,基于更新后的快照表对第一数据表和第二数据表进行数据对接,进而达到了提升数据对接准确性的效果。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例还提供了一种数据对接装置,需要说明的是,本申请实施例的数据对接装置可以用于执行本申请实施例所提供的用于数据对接方法。以下对本申请实施例提供的数据对接装置进行介绍。
图2是根据本申请实施例的数据对接装置的示意图。如图2所示,该装置包括:确定单元10、生成单元20、检测单元30、更新单元40以及数据对接单元50。
确定单元10,用于确定第一数据表、第二数据表和共有维度字段,其中,第一数据表和第二数据表为需要进行数据对接的数据表,共有维度字段为第一数据表和第二数据表中相同的维度字段。
生成单元20,用于根据第一数据表生成快照表,其中,快照表中包括至少一条快照记录,每条快照记录中至少包括与该条快照记录对应的唯一标识符、共有维度字段的值和生成快照记录的时间,且每条快照记录对应的唯一标识符不会发生变化。
检测单元30,用于检测第一数据表中共有维度字段的值是否发生变化。
更新单元40,用于当检测出第一数据表中共有维度字段的值发生变化时,更新快照表。
数据对接单元50,用于基于更新后的快照表对第一数据表和第二数据表进行数据对接。
本申请实施例提供的数据对接装置,通过确定单元10确定第一数据表、第二数据表和共有维度字段,其中,第一数据表和第二数据表为需要进行数据对接的数据表,共有维度字段为第一数据表和第二数据表中相同的维度字段;生成单元20根据第一数据表生成快照表,其中,快照表中包括至少一条快照记录,每条快照记录中至少包括与该条快照记录对应的唯一标识符、共有维度字段的值和生成快照记录的时间,且每条快照记录对应的唯一标识符不会发生变化;检测单元30检测第一数据表中共有维度字段的值是否发生变化;更新单元40当检测出第一数据表中共有维度字段的值发生变化时,更新快照表;以及数据对接单元50基于更新后的快照表对第一数据表和第二数据表进行数据对接。解决了相关技术中数据表中共有维度字段的值发生变化,导致数据表中的数据无法进行对接的问题,通过数据对接单元50基于更新后的快照表对第一数据表和第二数据表进行数据对接,进而达到了提升数据对接准确性的效果。
可选地,在本申请实施例提供的数据对接装置中,更新单元40包括:第一确定模块,用于确定第一数据表中共有维度字段的值发生变化的时间和变化后的共有维度字段的值;第一生成模块,用于根据第一数据表中值发生变化的共有维度字段对应的唯一标识符、共有维度字段的值发生变化的时间和变化后的共有维度字段的值生成快照记录,其中,快照记录包括的生成快照记录时间为第一数据表中共有维度字段的值发生变化的时间;以及更新模块,用于将快照记录添加至快照表中以更新快照表。
可选地,在本申请实施例提供的数据对接装置中,数据对接单元50包括:第二确定模块,用于确定数据对接时间,其中,数据对接时间为第一数据表和第二数据表需要进行数据对接的时间;第一获取模块,用于在更新后的快照表中,分别获取每一个唯一标识符对应的至少一条快照记录;第二获取模块,用于分别在获取到的每一个唯一标识符对应的至少一条快照记录中,根据生成快照记录的时间查询在数据对接时间与每一个唯一标识符对应的目标快照记录,并获取目标快照记录中的共有维度字段的值;第二生成模块,用于根据数据对接时间、每一个唯一标识符、与每一个唯一标识符对应的目标快照记录中的共有维度字段的值生成第一数据表的目标数据表;以及数据对接模块,用于根据第一数据表的目标数据表与第二数据表的共有维度字段进行数据对接。
可选地,在本申请实施例提供的数据对接装置中,第二获取模块包括:判断子模块,用于分别判断每一个唯一标识符对应的至少一条快照记录中,是否存在生成快照记录的时间为数据对接时间的快照记录;第一确定子模块,用于在存在生成快照记录的时间为数据对接时间的快照记录的情况下,则将该快照记录作为目标快照记录;以及第二确定子模块,用于在不存在生成快照记录的时间为数据对接时间的快照记录的情况下,则分别在每一个唯一标识符对应的至少一条快照记录中,将生成快照记录的时间满足如下条件的快照记录作为目标快照记录:在数据对接时间之前,并且与数据对接时间间隔满足预设条件。
可选地,在本申请实施例提供的数据对接装置中,检测单元30包括:检测模块,用于检测第一数据表中是否存在新建共有维度字段的值、或编辑共有维度字段的值、或删除共有维度字段的值的情况;第三确定模块,用于当第一数据表中存在新建共有维度字段的值、或编辑共有维度字段的值、或删除共有维度字段的值的情况,确定第一数据表中共有维度字段的值发生变化;以及第四确定模块,用于当第一数据表中不存在新建共有维度字段的值的情况、且不存在编辑共有维度字段的值的情况、且不存在删除共有维度字段的值的情况,确定第一数据表中共有维度字段的值没有发生变化。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的优选实施例,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种数据对接方法,其特征在于,包括:
确定第一数据表、第二数据表和共有维度字段,其中,所述第一数据表和所述第二数据表为需要进行数据对接的数据表,所述共有维度字段为所述第一数据表和所述第二数据表中相同的维度字段;
根据所述第一数据表生成快照表,其中,所述快照表中包括至少一条快照记录,每条快照记录中至少包括与该条快照记录对应的唯一标识符、共有维度字段的值和生成快照记录的时间,且每条快照记录对应的唯一标识符不会发生变化;
检测所述第一数据表中共有维度字段的值是否发生变化;
当检测出所述第一数据表中共有维度字段的值发生变化时,更新所述快照表;以及
基于更新后的快照表对所述第一数据表和所述第二数据表进行数据对接。
2.根据权利要求1所述的方法,其特征在于,当检测出所述第一数据表中共有维度字段的值发生变化时,更新所述快照表包括:
确定所述第一数据表中共有维度字段的值发生变化的时间和变化后的共有维度字段的值;
根据所述第一数据表中值发生变化的共有维度字段对应的唯一标识符、共有维度字段的值发生变化的时间和变化后的共有维度字段的值生成快照记录,其中,所述快照记录包括的生成快照记录时间为所述第一数据表中共有维度字段的值发生变化的时间;以及
将所述快照记录添加至所述快照表中以更新所述快照表。
3.根据权利要求2所述的方法,其特征在于,基于更新后的快照表对所述第一数据表和所述第二数据表进行数据对接包括:
确定数据对接时间,其中,所述数据对接时间为所述第一数据表和所述第二数据表需要进行数据对接的时间;
在更新后的快照表中,分别获取每一个唯一标识符对应的至少一条快照记录;
分别在获取到的每一个唯一标识符对应的至少一条快照记录中,根据生成快照记录的时间查询在所述数据对接时间与每一个唯一标识符对应的目标快照记录,并获取所述目标快照记录中的共有维度字段的值;
根据所述数据对接时间、每一个唯一标识符、与所述每一个唯一标识符对应的目标快照记录中的共有维度字段的值生成第一数据表的目标数据表;以及
根据第一数据表的目标数据表与第二数据表的共有维度字段进行数据对接。
4.根据权利要求3所述的方法,其特征在于,根据生成快照记录的时间查询在所述数据对接时间与每一个唯一标识符对应的目标快照记录包括:
分别判断每一个唯一标识符对应的至少一条快照记录中,是否存在生成快照记录的时间为所述数据对接时间的快照记录;
如果存在生成快照记录的时间为所述数据对接时间的快照记录,则将该快照记录作为目标快照记录;以及
如果不存在生成快照记录的时间为所述数据对接时间的快照记录,则分别在每一个唯一标识符对应的至少一条快照记录中,将生成快照记录的时间满足如下条件的快照记录作为目标快照记录:在所述数据对接时间之前,并且与所述数据对接时间间隔满足预设条件。
5.根据权利要求1至4中任一项所述的方法,其特征在于,检测所述第一数据表中共有维度字段的值是否发生变化包括:
检测所述第一数据表中是否存在新建所述共有维度字段的值、或编辑所述共有维度字段的值、或删除所述共有维度字段的值的情况;
当所述第一数据表中存在新建所述共有维度字段的值、或编辑所述共有维度字段的值、或删除所述共有维度字段的值的情况,确定所述第一数据表中共有维度字段的值发生变化;以及
当所述第一数据表中不存在新建所述共有维度字段的值的情况、且不存在编辑所述共有维度字段的值的情况、且不存在删除所述共有维度字段的值的情况,确定所述第一数据表中共有维度字段的值没有发生变化。
6.一种数据对接装置,其特征在于,包括:
确定单元,用于确定第一数据表、第二数据表和共有维度字段,其中,所述第一数据表和所述第二数据表为需要进行数据对接的数据表,所述共有维度字段为所述第一数据表和所述第二数据表中相同的维度字段;
生成单元,用于根据所述第一数据表生成快照表,其中,所述快照表中包括至少一条快照记录,每条快照记录中至少包括与该条快照记录对应的唯一标识符、共有维度字段的值和生成快照记录的时间,且每条快照记录对应的唯一标识符不会发生变化;
检测单元,用于检测所述第一数据表中共有维度字段的值是否发生变化;
更新单元,用于当检测出所述第一数据表中共有维度字段的值发生变化时,更新所述快照表;以及
数据对接单元,用于基于更新后的快照表对所述第一数据表和所述第二数据表进行数据对接。
7.根据权利要求6所述的装置,其特征在于,所述更新单元包括:
第一确定模块,用于确定所述第一数据表中共有维度字段的值发生变化的时间和变化后的共有维度字段的值;
第一生成模块,用于根据所述第一数据表中值发生变化的共有维度字段对应的唯一标识符、共有维度字段的值发生变化的时间和变化后的共有维度字段的值生成快照记录,其中,所述快照记录包括的生成快照记录时间为所述第一数据表中共有维度字段的值发生变化的时间;以及
更新模块,用于将所述快照记录添加至所述快照表中以更新所述快照表。
8.根据权利要求7所述的装置,其特征在于,所述数据对接单元包括:
第二确定模块,用于确定数据对接时间,其中,所述数据对接时间为所述第一数据表和所述第二数据表需要进行数据对接的时间;
第一获取模块,用于在更新后的快照表中,分别获取每一个唯一标识符对应的至少一条快照记录;
第二获取模块,用于分别在获取到的每一个唯一标识符对应的至少一条快照记录中,根据生成快照记录的时间查询在所述数据对接时间与每一个唯一标识符对应的目标快照记录,并获取所述目标快照记录中的共有维度字段的值;
第二生成模块,用于根据所述数据对接时间、每一个唯一标识符、与所述每一个唯一标识符对应的目标快照记录中的共有维度字段的值生成第一数据表的目标数据表;以及
数据对接模块,用于根据第一数据表的目标数据表与第二数据表的共有维度字段进行数据对接。
9.根据权利要求8所述的装置,其特征在于,所述第二获取模块包括:
判断子模块,用于分别判断每一个唯一标识符对应的至少一条快照记录中,是否存在生成快照记录的时间为所述数据对接时间的快照记录;
第一确定子模块,用于在存在生成快照记录的时间为所述数据对接时间的快照记录的情况下,则将该快照记录作为目标快照记录;以及
第二确定子模块,用于在不存在生成快照记录的时间为所述数据对接时间的快照记录的情况下,则分别在每一个唯一标识符对应的至少一条快照记录中,将生成快照记录的时间满足如下条件的快照记录作为目标快照记录:在所述数据对接时间之前,并且与所述数据对接时间间隔满足预设条件。
10.根据权利要求6至9中任一项所述的装置,其特征在于,所述检测单元包括:
检测模块,用于检测所述第一数据表中是否存在新建所述共有维度字段的值、或编辑所述共有维度字段的值、或删除所述共有维度字段的值的情况;
第三确定模块,用于当所述第一数据表中存在新建所述共有维度字段的值、或编辑所述共有维度字段的值、或删除所述共有维度字段的值的情况,确定所述第一数据表中共有维度字段的值发生变化;以及
第四确定模块,用于当所述第一数据表中不存在新建所述共有维度字段的值的情况、且不存在编辑所述共有维度字段的值的情况、且不存在删除所述共有维度字段的值的情况,确定所述第一数据表中共有维度字段的值没有发生变化。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510584048.6A CN106528575B (zh) | 2015-09-14 | 2015-09-14 | 数据对接方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510584048.6A CN106528575B (zh) | 2015-09-14 | 2015-09-14 | 数据对接方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106528575A true CN106528575A (zh) | 2017-03-22 |
CN106528575B CN106528575B (zh) | 2019-08-20 |
Family
ID=58348404
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510584048.6A Active CN106528575B (zh) | 2015-09-14 | 2015-09-14 | 数据对接方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106528575B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107943927A (zh) * | 2017-11-21 | 2018-04-20 | 清华大学 | 一种分布式存储系统中多维数据的存储模式转换方法 |
CN112100189A (zh) * | 2020-09-16 | 2020-12-18 | 南京亚信软件有限公司 | 数据更新冲突的检测方法、装置以及电子设备 |
CN113468155A (zh) * | 2021-07-05 | 2021-10-01 | 杭州数梦工场科技有限公司 | 问题数据处理方法和装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101046761A (zh) * | 2007-04-29 | 2007-10-03 | 华为技术有限公司 | 一种取快照数据的装置及方法 |
CN101183387A (zh) * | 2007-12-14 | 2008-05-21 | 沈阳东软软件股份有限公司 | 一种增量数据捕获方法和系统 |
US20100036886A1 (en) * | 2008-08-05 | 2010-02-11 | Teradata Us, Inc. | Deferred maintenance of sparse join indexes |
CN101799807A (zh) * | 2009-02-10 | 2010-08-11 | 中国移动通信集团公司 | 一种异构数据表的合并方法及其系统 |
CN104346449A (zh) * | 2014-10-28 | 2015-02-11 | 用友软件股份有限公司 | 数据合并方法和数据合并装置 |
CN104462342A (zh) * | 2014-12-04 | 2015-03-25 | 北京国双科技有限公司 | 数据库快照同步处理方法及装置 |
-
2015
- 2015-09-14 CN CN201510584048.6A patent/CN106528575B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101046761A (zh) * | 2007-04-29 | 2007-10-03 | 华为技术有限公司 | 一种取快照数据的装置及方法 |
CN101183387A (zh) * | 2007-12-14 | 2008-05-21 | 沈阳东软软件股份有限公司 | 一种增量数据捕获方法和系统 |
US20100036886A1 (en) * | 2008-08-05 | 2010-02-11 | Teradata Us, Inc. | Deferred maintenance of sparse join indexes |
CN101799807A (zh) * | 2009-02-10 | 2010-08-11 | 中国移动通信集团公司 | 一种异构数据表的合并方法及其系统 |
CN104346449A (zh) * | 2014-10-28 | 2015-02-11 | 用友软件股份有限公司 | 数据合并方法和数据合并装置 |
CN104462342A (zh) * | 2014-12-04 | 2015-03-25 | 北京国双科技有限公司 | 数据库快照同步处理方法及装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107943927A (zh) * | 2017-11-21 | 2018-04-20 | 清华大学 | 一种分布式存储系统中多维数据的存储模式转换方法 |
CN112100189A (zh) * | 2020-09-16 | 2020-12-18 | 南京亚信软件有限公司 | 数据更新冲突的检测方法、装置以及电子设备 |
CN113468155A (zh) * | 2021-07-05 | 2021-10-01 | 杭州数梦工场科技有限公司 | 问题数据处理方法和装置 |
CN113468155B (zh) * | 2021-07-05 | 2024-03-29 | 杭州数梦工场科技有限公司 | 问题数据处理方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106528575B (zh) | 2019-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10956431B2 (en) | System and method for associating related records to common entities across multiple lists | |
US7200604B2 (en) | Data de-duplication | |
CN105659263A (zh) | 序列识别 | |
US8799193B2 (en) | Method for training and using a classification model with association rule models | |
CN103593376A (zh) | 一种采集用户行为数据的方法及装置 | |
CN108009261A (zh) | 一种数据同步方法、装置及电子设备 | |
CN111310061B (zh) | 全链路多渠道归因方法、装置、服务器及存储介质 | |
KR101296683B1 (ko) | 데이터 스트림에서의 다중 조인 질의 처리를 위한 2 페이즈 수행 방법 | |
CN107633015A (zh) | 一种数据处理方法、装置及设备 | |
JP2011034457A (ja) | データマイニングシステム、データマイニング方法及びデータマイニング用プログラム | |
CN106528575A (zh) | 数据对接方法和装置 | |
CN111414410A (zh) | 数据处理方法、装置、设备和存储介质 | |
CN106202126A (zh) | 一种用于物流监控的数据分析方法和装置 | |
CN102546205B (zh) | 一种故障关系生成及故障确定方法及装置 | |
CN106202110A (zh) | 数据质量检测的方法和装置 | |
CN111367956A (zh) | 数据统计方法及装置 | |
CN111143724B (zh) | 一种数据处理方法、装置、设备及介质 | |
WO2009107234A1 (ja) | イベント履歴記憶装置、イベント履歴追跡装置、イベント履歴記憶方法、イベント履歴記憶プログラム及びデータ構造 | |
CN104636422B (zh) | 用于挖掘数据集中的模式的方法和系统 | |
CN110008243A (zh) | 一种数据表处理方法及装置 | |
CN104965878A (zh) | 一种基于分组信息进行用户工作单位挖掘的方法及装置 | |
CN114662005A (zh) | 用户行为轨迹的消息推送方法、装置、设备及存储介质 | |
KR102029860B1 (ko) | 실시간 다중 객체 추적 방법과 이를 수행하기 위한 장치 | |
CN109685453B (zh) | 智能识别工作流有效路径的方法 | |
CN113780950A (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 | ||
CB02 | Change of applicant information |
Address after: 100083 No. 401, 4th Floor, Haitai Building, 229 North Fourth Ring Road, Haidian District, Beijing Applicant after: Beijing Guoshuang Technology Co.,Ltd. Address before: 100086 Cuigong Hotel, 76 Zhichun Road, Shuangyushu District, Haidian District, Beijing Applicant before: Beijing Guoshuang Technology Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |