CN116775673A - 多数据源的数据整合方法及其装置、设备、介质、产品 - Google Patents
多数据源的数据整合方法及其装置、设备、介质、产品 Download PDFInfo
- Publication number
- CN116775673A CN116775673A CN202310740211.8A CN202310740211A CN116775673A CN 116775673 A CN116775673 A CN 116775673A CN 202310740211 A CN202310740211 A CN 202310740211A CN 116775673 A CN116775673 A CN 116775673A
- Authority
- CN
- China
- Prior art keywords
- field
- value
- data
- priority
- values
- 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 81
- 230000010354 integration Effects 0.000 title claims abstract description 80
- 238000012216 screening Methods 0.000 claims abstract description 25
- 238000004590 computer program Methods 0.000 claims description 18
- 230000008859 change Effects 0.000 claims description 6
- 230000000694 effects Effects 0.000 abstract description 8
- 230000005012 migration Effects 0.000 abstract description 3
- 238000013508 migration Methods 0.000 abstract description 3
- 230000008569 process Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Landscapes
- Complex Calculations (AREA)
Abstract
本申请公开了一种多数据源的数据整合方法及其装置、设备、介质、产品,属于数据迁移技术领域。该方法包括:获取M个数据源及其对应的M个数据源优先级;从M个数据源中获取主键相同的N条数据记录,其中,N条数据记录中包含相同的P个字段;获取同一字段在N条数据记录中对应的N个字段值,以及N个字段值对应的N个字段优先级;对于P个字段中的每个字段,在N个字段值对应的N个字段优先级的基础上,结合N个字段值所属数据源的数据源优先级,从N个字段值中筛选目标字段值;整合P个字段的目标字段值,得到目标数据记录。根据本申请实施例,能够提升多数据源数据整合时的数据整合效果,以及整合后的数据质量。
Description
技术领域
本申请属于数据迁移技术领域,尤其涉及一种多数据源的数据整合方法及其装置、设备、介质、产品。
背景技术
目前随着技术和方法的突飞猛进,越来越多的应用系统面临重构和整合,而应用系统的整合意味着多数据源的数据整合。在数据整合过程中,由于各数据源的同一条数据记录存在业务数据不一致的地方,故而在同一条数据记录的业务数据整合的过程中存在数据取舍的问题,造成数据整合的工作难度较大,面临较大困难。
相关技术中,在处理同一条数据记录的多数据源数据整合时,通常依据各个数据源的优先级来实现记录级别的优先覆盖原则,将最高优先级数据源中数据记录中包含的业务数据作为保留数据。但是,该数据整合方式的逻辑较为单一,且数据源优先级的高低无法准确代表数据记录中数据质量的高低,因此传统数据整合方案无法保证多数据源数据整合后的数据质量,数据整合效果不佳。
发明内容
本申请实施例提供一种多数据源的数据整合方法及其装置、设备、介质、产品,能够提升多数据源数据整合时的数据整合效果,以及整合后的数据质量。
第一方面,本申请实施例提供一种多数据源的数据整合方法,该方法包括:获取M个数据源及其对应的M个数据源优先级;从M个数据源中获取主键相同的N条数据记录,其中,N条数据记录中包含相同的P个字段;获取同一字段在N条数据记录中对应的N个字段值,以及N个字段值对应的N个字段优先级;对于P个字段中的每个字段,在N个字段值对应的N个字段优先级的基础上,结合N个字段值所属数据源的数据源优先级,从N个字段值中筛选目标字段值;整合P个字段的目标字段值,得到目标数据记录。
在第一方面的一些可实现方式中,从N个字段值中筛选目标字段值,包括:按照N个字段值所属数据源的数据源优先级由高到低的顺序,对N个字段值进行排列,生成字段的字段取值列表;对比字段取值列表中第一个字段值与第二个字段值的字段优先级;在第一个字段值的字段优先级大于第二个字段值的字段优先级的情况下,确定第一个字段值为基准值;在第一个字段值的字段优先级小于第二个字段值的字段优先级,且两者的字段优先级差值小于预设阈值的情况下,确定第一个字段值为基准值;在第一个字段值的字段优先级小于第二个字段值的字段优先级,且两者的字段优先级差值大于或等于预设阈值的情况下,确定第二个字段值为基准值;按照字段值排列顺序,继续对比基准值与第三个字段值的字段优先级,并对基准值进行更新,直至N个字段值的字段优先级对比完成,将最后输出的基准值作为目标字段值。
在第一方面的一些可实现方式中,在获取M个数据源及其对应的M个数据源优先级之后,方法还包括:对于P个字段对应的P*N个字段值,确定字段值的字段优先级为所属数据源的数据源优先级;对字段值的字段优先级进行调整。
在第一方面的一些可实现方式中,对字段值的字段优先级进行调整,包括:基于同一字段在不同数据源中的数据质量,调整同一字段在不同数据源中的多个字段值的字段优先级。
在第一方面的一些可实现方式中,对字段值的字段优先级进行调整,包括:基于N条数据记录的数据质量,调整每条数据记录中P个字段值的优先级;其中,调整规则为数据记录的数据质量越高,数据记录中字段值的优先级越高。
在第一方面的一些可实现方式中,在获取同一字段在N条数据记录中对应的N个字段值,以及N个字段值对应的N个字段优先级之后,方法还包括:在同一数据源中包括主键相同的至少两条数据记录的情况下,获取至少两条数据记录的时间戳;基于至少两条数据记录的时间戳,调整至少两条数据记录中字段值的字段优先级;其中,调整规则为数据记录的时间戳越新,数据记录中字段值的字段优先级越高。
在第一方面的一些可实现方式中,按照字段值排列顺序,继续对比基准值与第三个字段值的字段优先级,并对基准值进行更新,包括:在基准值的字段优先级大于第三个字段值的字段优先级的情况下,确定基准值不变化;在基准值的字段优先级小于第三个字段值的字段优先级,且两者的字段优先级差值小于预设阈值的情况下,确定基准值不变化;在基准值的字段优先级小于第三个字段值的字段优先级,且两者的字段优先级差值大于或等于预设阈值的情况下,确定第三个字段值为基准值。
第二方面,本申请实施例提供了一种多数据源的数据整合装置,该装置包括:获取模块,用于获取M个数据源及其对应的M个数据源优先级;获取模块,用于从M个数据源中获取主键相同的N条数据记录,其中,N条数据记录中包含相同的P个字段;获取模块,还用于获取同一字段在N条数据记录中对应的N个字段值,以及N个字段值对应的N个字段优先级;筛选模块,用于对于P个字段中的每个字段,在N个字段值对应的N个字段优先级的基础上,结合N个字段值所属数据源的数据源优先级,从N个字段值中筛选目标字段值;数据整合模块,用于整合P个字段的目标字段值,得到目标数据记录。
在第二方面的一些可实现方式中,筛选模块具体用于:按照N个字段值所属数据源的数据源优先级由高到低的顺序,对N个字段值进行排列,生成字段的字段取值列表;对比字段取值列表中第一个字段值与第二个字段值的字段优先级;在第一个字段值的字段优先级大于第二个字段值的字段优先级的情况下,确定第一个字段值为基准值;在第一个字段值的字段优先级小于第二个字段值的字段优先级,且两者的字段优先级差值小于预设阈值的情况下,确定第一个字段值为基准值;在第一个字段值的字段优先级小于第二个字段值的字段优先级,且两者的字段优先级差值大于或等于预设阈值的情况下,确定第二个字段值为基准值;按照字段值排列顺序,继续对比基准值与第三个字段值的字段优先级,并对基准值进行更新,直至N个字段值的字段优先级对比完成,将最后输出的基准值作为目标字段值。
在第二方面的一些可实现方式中,装置还包括:确定模块,用于在获取M个数据源及其对应的M个数据源优先级之后,对于P个字段对应的P*N个字段值,确定字段值的字段优先级为所属数据源的数据源优先级;调整模块,用于对字段值的字段优先级进行调整。
在第二方面的一些可实现方式中,调整模块具体用于:基于同一字段在不同数据源中的数据质量,调整同一字段在不同数据源中的多个字段值的字段优先级。
在第二方面的一些可实现方式中,调整模块具体用于:基于N条数据记录的数据质量,调整每条数据记录中P个字段值的优先级;其中,调整规则为数据记录的数据质量越高,数据记录中字段值的优先级越高。
在第二方面的一些可实现方式中,装置还包括:获取模块,用于在获取同一字段在N条数据记录中对应的N个字段值,以及N个字段值对应的N个字段优先级之后,在同一数据源中包括主键相同的至少两条数据记录的情况下,获取至少两条数据记录的时间戳;调整模块,用于基于至少两条数据记录的时间戳,调整至少两条数据记录中字段值的字段优先级;其中,调整规则为数据记录的时间戳越新,数据记录中字段值的字段优先级越高。
在第二方面的一些可实现方式中,筛选模块具体用于:在基准值的字段优先级大于第三个字段值的字段优先级的情况下,确定基准值不变化;在基准值的字段优先级小于第三个字段值的字段优先级,且两者的字段优先级差值小于预设阈值的情况下,确定基准值不变化;在基准值的字段优先级小于第三个字段值的字段优先级,且两者的字段优先级差值大于或等于预设阈值的情况下,确定第三个字段值为基准值。
第三方面,本申请实施例提供了一种电子设备,该设备包括:处理器以及存储有计算机程序指令的存储器;处理器执行计算机程序指令时实现如第一方面的任一项实施例中所示的多数据源的数据整合方法的步骤。
第四方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现如第一方面的任一项实施例中所示的多数据源的数据整合方法的步骤。
第五方面,本申请实施例提供了一种计算机程序产品,计算机程序产品中的指令由电子设备的处理器执行时,使得所述电子设备执行如第一方面的任一项实施例中所示的多数据源的数据整合方法的步骤。
本申请实施例的多数据源的数据整合方法、装置、设备、介质、产品,获取M个数据源及其对应的M个数据源优先级,并从M个数据源中获取主键相同的N条数据记录,N条数据记录中包含相同的P个字段。基于此,在对N条数据记录进行数据整合时,对于同一字段,可获取其在N条数据记录中对应的N个字段值,以及N个字段值对应的N个字段优先级,并在N个字段优先级的基础上,结合N个字段值所属数据源的数据源优先级,从N个字段值中筛选出目标字段值,将目标字段值作为该字段的最终取值,实现字段级别的优先级覆盖,相比于利用数据源优先级最高的数据记录直接覆盖其它数据记录的记录级别数据整合,本申请字段级的数据整合方案精度更高。并且,在筛选目标字段值时,相比于直接将所属数据源优先级最高的数据记录作为目标数据记录,本申请将字段优先级和数据源优先级相结合作为筛选依据,最终可以得到字段优先级较高且所属数据源优先级也较高的目标字段值,进一步提升筛选到的目标字段值的数据质量,通过整合P个字段的目标字段值,可以将N条数据记录整合为一条目标数据记录,提升目标数据记录的数据质量以及数据整合效果。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单的介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例提供的多数据源的数据整合方法的流程示意图;
图2是本申请另一实施例提供的多数据源的数据整合方法的流程示意图;
图3是本申请再一实施例提供的多数据源的数据整合方法的流程示意图;
图4是本申请实施例提供的一种多数据源的数据整合装置的结构示意图;
图5是本申请实施例提供的一种电子设备的硬件结构示意图。
具体实施方式
下面将详细描述本申请的各个方面的特征和示例性实施例,为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本申请进行进一步详细描述。应理解,此处所描述的具体实施例仅意在解释本申请,而不是限定本申请。对于本领域技术人员来说,本申请可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本申请的示例来提供对本申请更好的理解。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
目前随着技术和方法的突飞猛进,越来越多的应用系统面临重构和整合,而应用系统的整合意味着多数据源的数据整合。在数据整合过程中,由于各数据源的同一条数据记录存在业务数据不一致的地方,故而在同一条数据记录的业务数据整合的过程中存在数据取舍的问题,造成数据整合的工作难度较大,面临较大困难。
相关技术中,在处理同一条数据记录的多数据源数据整合时,通常依据各个数据源的优先级来实现记录级别的优先覆盖原则,将最高优先级数据源中数据记录中包含的业务数据作为保留数据。
但是,该数据整合方式的逻辑较为单一,且数据源优先级的高低无法准确代表数据记录中数据质量的高低,高优先级数据源中可能存在质量较低的数据,低优先级数据源中也有数据质量高的数据。并且,一条数据记录中也可能同时存在数据质量较低的数据,以及数据质量较高的数据,使用同一条数据记录来覆盖其它所有数据记录,也会降低数据整合后的数据质量。
另外,随着对数据精细度的要求原来越高,在多数据源的数据整合过程中,记录级别的数据整合可能导致原来记录的某些有记录的值在迁移过程中反而出现记录值丢失的情况,例如某条数据记录所属数据源优先级最高,因此利用该条数据记录覆盖其它数据记录,但该数据记录中存在字段值为空值的字段,如此会带来数据精度的降低。
因此,相关技术中的数据整合方案无法保证多数据源数据整合时的数据精度以及整合后的数据质量。
针对相关技术中出现的问题,本申请实施例提供了一种多数据源的数据整合方法,获取M个数据源及其对应的M个数据源优先级,并从M个数据源中获取主键相同的N条数据记录,N条数据记录中包含相同的P个字段。基于此,在对N条数据记录进行数据整合时,对于同一字段,可获取其在N条数据记录中对应的N个字段值,以及N个字段值对应的N个字段优先级,并在N个字段优先级的基础上,结合N个字段值所属数据源的数据源优先级,从N个字段值中筛选出目标字段值,将目标字段值作为该字段的最终取值,实现字段级别的优先级覆盖,相比于利用数据源优先级最高的数据记录直接覆盖其它数据记录的记录级别数据整合,本申请字段级的数据整合方案精度更高。并且,在筛选目标字段值时,相比于直接将所属数据源优先级最高的数据记录作为目标数据记录,本申请将字段优先级和数据源优先级相结合作为筛选依据,最终可以得到字段优先级较高且所属数据源优先级也较高的目标字段值,进一步提升筛选到的目标字段值的数据质量,通过整合P个字段的目标字段值,可以将N条数据记录整合为一条目标数据记录,提升目标数据记录的数据质量以及数据整合效果。
下面结合附图,通过具体的实施例及其应用场景对本申请实施例提供的多数据源的数据整合方法进行详细地说明。
需要说明的是,本申请实施例中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。
图1是本申请实施例提供的一种多数据源的数据整合方法的流程示意图,该多数据源的数据整合方法的执行主体可以为服务方的电子设备。需要说明的是,上述执行主体并不构成对本申请的限定。
上述电子设备可以为手机、平板电脑、一体机等具有通讯功能的设备,也可以包括虚拟机或模拟器模拟的设备,当然,还可以包括云服务器或者服务器集群等具有存储以及计算功能的设备。
如图1所示,本申请实施例提供的多数据源的数据整合方法可以包括步骤110-步骤150。
步骤110,获取M个数据源及其对应的M个数据源优先级;
步骤120,从M个数据源中获取主键相同的N条数据记录,其中,N条数据记录中包含相同的P个字段;
步骤130,获取同一字段在N条数据记录中对应的N个字段值,以及N个字段值对应的N个字段优先级;
步骤140,对于P个字段中的每个字段,在N个字段值对应的N个字段优先级的基础上,结合N个字段值所属数据源的数据源优先级,从N个字段值中筛选目标字段值;
步骤150,整合P个字段的目标字段值,得到目标数据记录。
本申请实施例的多数据源的数据整合方法,获取M个数据源及其对应的M个数据源优先级,并从M个数据源中获取主键相同的N条数据记录,N条数据记录中包含相同的P个字段。基于此,在对N条数据记录进行数据整合时,对于同一字段,可获取其在N条数据记录中对应的N个字段值,以及N个字段值对应的N个字段优先级,并在N个字段优先级的基础上,结合N个字段值所属数据源的数据源优先级,从N个字段值中筛选出目标字段值,将目标字段值作为该字段的最终取值,实现字段级别的优先级覆盖,相比于利用数据源优先级最高的数据记录直接覆盖其它数据记录的记录级别数据整合,本申请字段级的数据整合方案精度更高。并且,在筛选目标字段值时,相比于直接将所属数据源优先级最高的数据记录作为目标数据记录,本申请将字段优先级和数据源优先级相结合作为筛选依据,最终可以得到字段优先级较高且所属数据源优先级也较高的目标字段值,进一步提升筛选到的目标字段值的数据质量,通过整合P个字段的目标字段值,可以将N条数据记录整合为一条目标数据记录,提升目标数据记录的数据质量以及数据整合效果。
下面结合具体的实施例,对上述步骤的具体实现方式进行详细说明。
涉及步骤110,获取M个数据源及其对应的M个数据源优先级。
在步骤110中,M为正整数,数据源可以为应用系统或者业务系统,因此数据源优先级即为不同应用系统的优先级,数据源优先级取决于应用系统的重要程度。
示例性地,针对多个不同的数据来源(数据源1、2、3......),根据数据源的重要性和数据准确性,设定数据源的优先级Q(X),X=1,2,3…;在此可以约定Q(X)值越小,表示优先级越高。
涉及步骤120,从M个数据源中获取主键相同的N条数据记录。
在步骤120中,电子设备可以通过接入M个数据源,从M个数据源中获取主键相同的N条数据记录。
N为大于或等于M的正整数,同一数据源中可以存在上述N条数据记录中的至少一条数据记录,也即,在M个数据源中均仅存在一条上述数据记录的情况下,M=N;在至少一个数据源存在至少两条上述数据记录的情况下,M<N。
N条数据记录中包含相同的P个字段,P为正整数,对于同一字段,每条数据记录中均包含一个字段值,因此同一字段在N条数据记录中存在N个字段值。
在本申请的一些实施例中,在步骤120获取M个数据源及其对应的M个数据源优先级之后,该方法还可以包括下述步骤:
对于P个字段对应的P*N个字段值,确定字段值的字段优先级为所属数据源的数据源优先级;
对字段值的字段优先级进行调整。
具体地,针对除主键以外的每一个字段,可以单独调整该字段在不同数据记录中的字段值的优先级程度,默认情况下,字段值的字段优先级和所属数据源的数据源优先级一致。
在本申请的一些实施例中,上述对字段值的字段优先级进行调整,可以包括:
基于同一字段在不同数据源中的数据质量,调整同一字段在不同数据源中的多个字段值的字段优先级。
具体地,对于同一字段,其在不同数据源中的数据质量可能不同,例如对于字段“营收”,其在数据源“交易系统”中的数据准确度高于在数据源“业务系统”中的数据准确度,因此“交易系统”中营收值的字段优先级高于“业务系统”中营收值的字段优先级。
在本申请的另一些实施例中,对字段值的字段优先级进行调整,可以包括:基于N条数据记录的数据质量,调整每条数据记录中P个字段值的优先级。
其中,调整规则为数据记录的数据质量越高,数据记录中字段值的优先级越高。
在本申请的再一些实施例中,对字段值的字段优先级进行调整,可以包括:
基于用户输入,从P个字段中选取第一字段,并从M个数据源中选取第一数据源,对第一字段在第一数据源中的字段值对应的字段优先级进行调整。
涉及步骤130,获取同一字段在N条数据记录中对应的N个字段值,以及N个字段值对应的N个字段优先级。
在步骤130中,字段优先级用于表征该字段下,字段值的重要程度,字段值对应的字段优先级可以为调整后的字段优先级。
在本申请的一些实施例中,在字段值为空值的情况下,确定该字段值对应的字段优先级最低,这样在基于字段优先级筛选目标字段值时,可以排除为空值的字段值,保证最后得到的目标数据记录中没有空值,避免记录值丢失,提升数据整合精度。
在本申请的一些实施例中,为了进一步提升整合后的数据质量,图2是本申请另一实施例提供的多数据源的数据整合方法的流程示意图。
如图2所示,在步骤130之后,该方法还可以包括步骤210和步骤220。
步骤210,在同一数据源中包括主键相同的至少两条数据记录的情况下,获取至少两条数据记录的时间戳;
步骤220,基于至少两条数据记录的时间戳,调整至少两条数据记录中字段值的字段优先级;
其中,上述至少两条数据记录可以为N条数据记录中的数据记录,其调整规则为数据记录的时间戳越新,数据记录中字段值的字段优先级越高。
在本申请实施例中,当同一数据源包含多条数据记录时,可以按照多条数据记录的时间戳,调整每条数据记录中字段值的字段优先级,考虑到最新获取到的字段值数据准确度更高,可以为时间戳较新的数据记录中包含的字段值,分配较高的字段优先级。如此,在后续依据字段优先级筛选目标字段值时,由于字段优先级高的字段值数据准确度更高,因此可优先筛选数据准确度更高的字段值作为目标字段值,在整合目标字段值生成目标数据记录时,提升目标数据记录的数据质量。
涉及步骤140,对于P个字段中的每个字段,在N个字段值对应的N个字段优先级的基础上,结合N个字段值所属数据源的数据源优先级,从N个字段值中筛选目标字段值。
在本申请的一些实施例中,图3是本申请再一实施例提供的多数据源的数据整合方法的流程示意图,步骤140可以包括图3所示的步骤310-步骤360,需要说明的是,步骤330-步骤350对应三种不同的情况,并不代表先后执行顺序为步骤330、步骤340、步骤350。
步骤310,按照N个字段值所属数据源的数据源优先级由高到低的顺序,对N个字段值进行排列,生成字段的字段取值列表;
步骤320,对比字段取值列表中第一个字段值与第二个字段值的字段优先级;
步骤330,在第一个字段值的字段优先级大于第二个字段值的字段优先级的情况下,确定第一个字段值为基准值;
步骤340,在第一个字段值的字段优先级小于第二个字段值的字段优先级,且两者的字段优先级差值小于预设阈值的情况下,确定第一个字段值为基准值;
步骤350,在第一个字段值的字段优先级小于第二个字段值的字段优先级,且两者的字段优先级差值大于或等于预设阈值的情况下,确定第二个字段值为基准值;
步骤360,按照字段值排列顺序,继续对比基准值与第三个字段值的字段优先级,并对基准值进行更新,直至N个字段值的字段优先级对比完成,将最后输出的基准值作为目标字段值。
具体地,预设阈值可以根据具体需求进行设置,例如可以为设置为1、2、3或者其他数值,作为一种示例,预设阈值也可以设置为零,本申请对预设阈值的取值不做具体限定。
作为一个示例,预设阈值可以为2,对于同一字段V,在多个数据源中,数据源优先级的排列顺序为数据源1、数据源2、数据源3…,则排列在字段取值列表中L{V1,V2,V3...}的第一个字段值为字段V在数据源1的数据记录中对应的字段值V1,第二个字段值为字段V在数据源2的数据记录中对应的字段值V2,以此类推。基于此,对V1和V2进行优先级对比,若V1的字段优先级为6,V2的字段优先级为7,由于两者字段优先级差值为1小于2,因此可以将V1作为基准值,继续对V1和下一个字段值的字段优先级进行对比,输出最新基准值,重复字段优先级对比过程,直至完成最后一个字段值的优先级对比,输出最终的基准值。
需要说明的是,步骤360中可以重复执行类似步骤330-步骤350的判断逻辑,每次进行字段优先级对比时,均可以输出基准值,最后一次字段优先级对比,是对上一次输出的基准值与第N个字段值进行优先级对比,输出最终的基准值,得到目标字段值。
在本申请的一些实施例中,第二次字段优先级对比过程如下:
步骤360可以包括:在基准值的字段优先级大于第三个字段值的字段优先级的情况下,确定基准值不变化;在基准值的字段优先级小于第三个字段值的字段优先级,且两者的字段优先级差值小于预设阈值的情况下,确定基准值不变化;在基准值的字段优先级小于第三个字段值的字段优先级,且两者的字段优先级差值大于或等于预设阈值的情况下,确定第三个字段值为基准值。
涉及步骤150,整合P个字段的目标字段值,得到目标数据记录。
在步骤150中,可以按照数据记录中的字段名顺序,按顺序组合P个字段的目标字段值,生成目标数据记录,并利用该目标数据记录覆盖之前的N条数据记录,完成N条数据记录的数据整合。
示例性地,数据记录1为RT1:A1,B1,C1;数据记录2为RT2:A2,B2,C2;数据记录3为RT3:A3,B3,C3。若对于字段A,从{A1,A2,A3}中筛选出目标字段值A3;对于字段B,从{B1,B2,B3}中筛选出目标字段值为B1;对于字段C,从{C1,C2,C3}中筛选出目标字段值为C2。则组合上述三个字段的目标字段值,得到目标数据记录R:A3,B1,C2。
需要说明的是,本申请实施例提供的多数据源的数据整合方法,执行主体可以为电子设备,或者多数据源的数据整合系统中用于执行多数据源的数据整合方法的控制模块。本申请实施例中以多数据源的数据整合装置执行多数据源的数据整合方法为例,说明本申请实施例提供的多数据源的数据整合装置。下面对多数据源的数据整合装置进行详细介绍。
图4是本申请实施例提供的一种多数据源的数据整合装置的结构示意图。如图4所示,该多数据源的数据整合装置400可以包括:获取模块410、筛选模块420和数据整合模块430。
其中,获取模块410,用于获取M个数据源及其对应的M个数据源优先级;获取模块410,用于从M个数据源中获取主键相同的N条数据记录,其中,N条数据记录中包含相同的P个字段;获取模块410,还用于获取同一字段在N条数据记录中对应的N个字段值,以及N个字段值对应的N个字段优先级;筛选模块420,用于对于P个字段中的每个字段,在N个字段值对应的N个字段优先级的基础上,结合N个字段值所属数据源的数据源优先级,从N个字段值中筛选目标字段值;数据整合模块430,用于整合P个字段的目标字段值,得到目标数据记录。
在本申请的一些实施例中,在本申请的一些实施例中,筛选模块420具体用于:按照N个字段值所属数据源的数据源优先级由高到低的顺序,对N个字段值进行排列,生成字段的字段取值列表;对比字段取值列表中第一个字段值与第二个字段值的字段优先级;在第一个字段值的字段优先级大于第二个字段值的字段优先级的情况下,确定第一个字段值为基准值;在第一个字段值的字段优先级小于第二个字段值的字段优先级,且两者的字段优先级差值小于预设阈值的情况下,确定第一个字段值为基准值;在第一个字段值的字段优先级小于第二个字段值的字段优先级,且两者的字段优先级差值大于或等于预设阈值的情况下,确定第二个字段值为基准值;按照字段值排列顺序,继续对比基准值与第三个字段值的字段优先级,并对基准值进行更新,直至N个字段值的字段优先级对比完成,将最后输出的基准值作为目标字段值。
在本申请的一些实施例中,装置还包括:确定模块,用于在获取M个数据源及其对应的M个数据源优先级之后,对于P个字段对应的P*N个字段值,确定字段值的字段优先级为所属数据源的数据源优先级;调整模块,用于对字段值的字段优先级进行调整。
在本申请的一些实施例中,调整模块具体用于:基于同一字段在不同数据源中的数据质量,调整同一字段在不同数据源中的多个字段值的字段优先级。
在本申请的一些实施例中,调整模块具体用于:基于N条数据记录的数据质量,调整每条数据记录中P个字段值的优先级;其中,调整规则为数据记录的数据质量越高,数据记录中字段值的优先级越高。
在本申请的一些实施例中,装置还包括:获取模块,用于在获取同一字段在N条数据记录中对应的N个字段值,以及N个字段值对应的N个字段优先级之后,在同一数据源中包括主键相同的至少两条数据记录的情况下,获取至少两条数据记录的时间戳;调整模块,用于基于至少两条数据记录的时间戳,调整至少两条数据记录中字段值的字段优先级;其中,调整规则为数据记录的时间戳越新,数据记录中字段值的字段优先级越高。
在本申请的一些实施例中,筛选模块420具体用于:在基准值的字段优先级大于第三个字段值的字段优先级的情况下,确定基准值不变化;在基准值的字段优先级小于第三个字段值的字段优先级,且两者的字段优先级差值小于预设阈值的情况下,确定基准值不变化;在基准值的字段优先级小于第三个字段值的字段优先级,且两者的字段优先级差值大于或等于预设阈值的情况下,确定第三个字段值为基准值。
本申请实施例的多数据源的数据整合装置,获取M个数据源及其对应的M个数据源优先级,并从M个数据源中获取主键相同的N条数据记录,N条数据记录中包含相同的P个字段。基于此,在对N条数据记录进行数据整合时,对于同一字段,可获取其在N条数据记录中对应的N个字段值,以及N个字段值对应的N个字段优先级,并在N个字段优先级的基础上,结合N个字段值所属数据源的数据源优先级,从N个字段值中筛选出目标字段值,将目标字段值作为该字段的最终取值,实现字段级别的优先级覆盖,相比于利用数据源优先级最高的数据记录直接覆盖其它数据记录的记录级别数据整合,本申请字段级的数据整合方案精度更高。并且,在筛选目标字段值时,相比于直接将所属数据源优先级最高的数据记录作为目标数据记录,本申请将字段优先级和数据源优先级相结合作为筛选依据,最终可以得到字段优先级较高且所属数据源优先级也较高的目标字段值,进一步提升筛选到的目标字段值的数据质量,通过整合P个字段的目标字段值,可以将N条数据记录整合为一条目标数据记录,提升目标数据记录的数据质量以及数据整合效果。
本申请实施例中的多数据源的数据整合装置可以是装置,也可以是终端中的部件、集成电路、或芯片。该装置可以是移动电子设备,也可以为非移动电子设备。示例性的,移动电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、可穿戴设备、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本或者个人数字助理(personal digital assistant,PDA)等,非移动电子设备可以为服务器、网络附属存储器(Network Attached Storage,NAS)、个人计算机(personal computer,PC)、电视机(television,TV)、柜员机或者自助机等,本申请实施例不作具体限定。
本申请实施例中的多数据源的数据整合装置可以为具有操作系统的装置。该操作系统可以为安卓(Android)操作系统,可以为iOS操作系统,还可以为其它可能的操作系统,本申请实施例不作具体限定。
图5是本申请实施例提供的一种电子设备的硬件结构示意图。
如图5所示,本实施例中的电子设备500可以包括处理器501以及存储有计算机程序指令的存储器502。
具体地,上述处理器501可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。
存储器502可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器502可包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器502可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器502可在综合网关容灾设备的内部或外部。在特定实施例中,存储器502是非易失性固态存储器。存储器可包括只读存储器(Read-Only Memory,ROM),随机存取存储器(RandomAccess Memory,RAM),磁盘存储介质设备,光存储介质设备,闪存设备,电气、光学或其他物理/有形的存储器存储设备。因此,通常,存储器包括一个或多个编码有包括计算机可执行指令的软件的有形(非暂态)计算机可读存储介质(例如,存储器设备),并且当该软件被执行(例如,由一个或多个处理器)时,其可操作来执行参考根据本申请实施例的方法所描述的操作。
处理器501通过读取并执行存储器502中存储的计算机程序指令,以实现上述实施例中的任意一种多数据源的数据整合方法。
在一个示例中,电子设备500还可以包括通信接口503和总线510。其中,如图5所示,处理器501、存储器502、通信接口503通过总线510连接并完成相互间的通信。
通信接口503,主要用于实现本申请实施例中各模块、装置、单元和/或设备之间的通信。
总线510包括硬件、软件或两者,将在线数据流量计费设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(AGP)或其他图形总线、增强工业标准架构(EISA)总线、前端总线(FSB)、超传输(HT)互连、工业标准架构(ISA)总线、无限带宽互连、低引脚数(LPC)总线、存储器总线、微信道架构(MCA)总线、外围组件互连(PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(SATA)总线、视频电子标准协会局部(VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线510可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。
本申请实施例提供的电子设备,能够实现图1-3的方法实施例中所实现的各个过程,并能实现相同的技术效果,为避免重复,在此不再赘述。
结合上述实施例中的多数据源的数据整合方法,本申请实施例可提供一种多数据源的数据整合系统,该多数据源的数据整合系统包括上述实施例中的电子设备。电子设备的具体内容可参见上述实施例中的相关说明,在此不再赘述。
另外,结合上述实施例中的多数据源的数据整合方法,本申请实施例可提供一种计算机可读存储介质来实现。该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种多数据源的数据整合方法的步骤。
结合上述实施例中的多数据源的数据整合方法,本申请实施例可提供一种计算机程序产品来实现。该计算机程序产品中的指令由电子设备的处理器执行时,使得所述电子设备执行如第一方面的任一项实施例中所示的多数据源的数据整合方法的步骤。
需要明确的是,本申请并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本申请的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本申请的精神后,做出各种改变、修改和添加,或者改变步骤之间的顺序。
以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本申请的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
还需要说明的是,本申请中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本申请不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
上面参考根据本公开的实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各方面。应当理解,流程图和/或框图中的每个方框以及流程图和/或框图中各方框的组合可以由计算机程序指令实现。这些计算机程序指令可被提供给通用计算机、专用计算机、或其它可编程多数据处理装置的处理器,以产生一种机器,使得经由计算机或其它可编程多数据处理装置的处理器执行的这些指令使能对流程图和/或框图的一个或多个方框中指定的功能/动作的实现。这种处理器可以是但不限于是通用处理器、专用处理器、特殊应用处理器或者现场可编程逻辑电路。还可理解,框图和/或流程图中的每个方框以及框图和/或流程图中的方框的组合,也可以由执行指定的功能或动作的专用硬件来实现,或可由专用硬件和计算机指令的组合来实现。
以上所述,仅为本申请的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。
Claims (12)
1.一种多数据源的数据整合方法,其特征在于,所述方法包括:
获取M个数据源及其对应的M个数据源优先级;
从所述M个数据源中获取主键相同的N条数据记录,其中,所述N条数据记录中包含相同的P个字段;
获取同一字段在所述N条数据记录中对应的N个字段值,以及所述N个字段值对应的N个字段优先级;
对于所述P个字段中的每个字段,在所述N个字段值对应的N个字段优先级的基础上,结合所述N个字段值所属数据源的数据源优先级,从所述N个字段值中筛选目标字段值;
整合所述P个字段的目标字段值,得到目标数据记录。
2.根据权利要求1所述的方法,其特征在于,所述从所述N个字段值中筛选目标字段值,包括:
按照所述N个字段值所属数据源的数据源优先级由高到低的顺序,对所述N个字段值进行排列,生成所述字段的字段取值列表;
对比所述字段取值列表中第一个字段值与第二个字段值的字段优先级;
在所述第一个字段值的字段优先级大于所述第二个字段值的字段优先级的情况下,确定所述第一个字段值为基准值;
在所述第一个字段值的字段优先级小于所述第二个字段值的字段优先级,且两者的字段优先级差值小于预设阈值的情况下,确定所述第一个字段值为基准值;
在所述第一个字段值的字段优先级小于所述第二个字段值的字段优先级,且两者的字段优先级差值大于或等于预设阈值的情况下,确定所述第二个字段值为基准值;
按照字段值排列顺序,继续对比所述基准值与第三个字段值的字段优先级,并对所述基准值进行更新,直至所述N个字段值的字段优先级对比完成,将最后输出的基准值作为所述目标字段值。
3.根据权利要求1所述的方法,其特征在于,在所述获取M个数据源及其对应的M个数据源优先级之后,所述方法还包括:
对于所述P个字段对应的P*N个字段值,确定所述字段值的字段优先级为所属数据源的数据源优先级;
对所述字段值的字段优先级进行调整。
4.根据权利要求3所述的方法,其特征在于,所述对所述字段值的字段优先级进行调整,包括:
基于同一字段在不同数据源中的数据质量,调整所述同一字段在所述不同数据源中的多个字段值的字段优先级。
5.根据权利要求3所述的方法,其特征在于,所述对所述字段值的字段优先级进行调整,包括:
基于所述N条数据记录的数据质量,调整每条数据记录中所述P个字段值的优先级;
其中,调整规则为所述数据记录的数据质量越高,所述数据记录中所述字段值的优先级越高。
6.根据权利要求1所述的方法,其特征在于,在所述获取同一字段在所述N条数据记录中对应的N个字段值,以及所述N个字段值对应的N个字段优先级之后,所述方法还包括:
在同一数据源中包括主键相同的至少两条数据记录的情况下,获取所述至少两条数据记录的时间戳;
基于所述至少两条数据记录的时间戳,调整所述至少两条数据记录中字段值的字段优先级;
其中,调整规则为所述数据记录的时间戳越新,所述数据记录中字段值的字段优先级越高。
7.根据权利要求2所述的方法,其特征在于,所述按照字段值排列顺序,继续对比所述基准值与第三个字段值的字段优先级,并对所述基准值进行更新,包括:
在所述基准值的字段优先级大于所述第三个字段值的字段优先级的情况下,确定所述基准值不变化;
在所述基准值的字段优先级小于所述第三个字段值的字段优先级,且两者的字段优先级差值小于预设阈值的情况下,确定所述基准值不变化;
在所述基准值的字段优先级小于所述第三个字段值的字段优先级,且两者的字段优先级差值大于或等于预设阈值的情况下,确定所述第三个字段值为基准值。
8.一种多数据源的数据整合装置,其特征在于,所述装置包括:
获取模块,用于获取M个数据源及其对应的M个数据源优先级;
所述获取模块,用于从所述M个数据源中获取主键相同的N条数据记录,其中,所述N条数据记录中包含相同的P个字段;
所述获取模块,还用于获取同一字段在所述N条数据记录中对应的N个字段值,以及所述N个字段值对应的N个字段优先级;
筛选模块,用于对于所述P个字段中的每个字段,在所述N个字段值对应的N个字段优先级的基础上,结合所述N个字段值所属数据源的数据源优先级,从所述N个字段值中筛选目标字段值;
数据整合模块,用于整合所述P个字段的目标字段值,得到目标数据记录。
9.根据权利要求8所述的装置,其特征在于,筛选模块具体用于:
按照所述N个字段值所属数据源的数据源优先级由高到低的顺序,对所述N个字段值进行排列,生成所述字段的字段取值列表;
对比所述字段取值列表中第一个字段值与第二个字段值的字段优先级;
在所述第一个字段值的字段优先级大于所述第二个字段值的字段优先级的情况下,确定所述第一个字段值为基准值;
在所述第一个字段值的字段优先级小于所述第二个字段值的字段优先级,且两者的字段优先级差值小于预设阈值的情况下,确定所述第一个字段值为基准值;
在所述第一个字段值的字段优先级小于所述第二个字段值的字段优先级,且两者的字段优先级差值大于或等于预设阈值的情况下,确定所述第二个字段值为基准值;
按照字段值排列顺序,继续对比所述基准值与第三个字段值的字段优先级,并对所述基准值进行更新,直至所述N个字段值的字段优先级对比完成,将最后输出的基准值作为所述目标字段值。
10.一种电子设备,其特征在于,所述电子设备包括:处理器以及存储有计算机程序指令的存储器;
所述处理器执行所述计算机程序指令时实现如权利要求1-7任意一项所述的多数据源的数据整合方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如权利要求1-7任意一项所述的多数据源的数据整合方法的步骤。
12.一种计算机程序产品,其特征在于,所述计算机程序产品中的指令由电子设备的处理器执行时,使得所述电子设备执行如权利要求1-7任意一项所述的多数据源的数据整合方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310740211.8A CN116775673A (zh) | 2023-06-20 | 2023-06-20 | 多数据源的数据整合方法及其装置、设备、介质、产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310740211.8A CN116775673A (zh) | 2023-06-20 | 2023-06-20 | 多数据源的数据整合方法及其装置、设备、介质、产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116775673A true CN116775673A (zh) | 2023-09-19 |
Family
ID=88012894
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310740211.8A Pending CN116775673A (zh) | 2023-06-20 | 2023-06-20 | 多数据源的数据整合方法及其装置、设备、介质、产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116775673A (zh) |
-
2023
- 2023-06-20 CN CN202310740211.8A patent/CN116775673A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114676161A (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN117216036A (zh) | 数据迁移方法及其系统、设备、介质、产品 | |
CN116775110A (zh) | 数据同步方法、装置、设备、介质及产品 | |
CN116775673A (zh) | 多数据源的数据整合方法及其装置、设备、介质、产品 | |
CN115587143A (zh) | 数据同步方法、装置、设备及计算机可读存储介质 | |
CN115965296A (zh) | 考核数据的处理方法、装置、设备、产品及可读存储介质 | |
CN114677211A (zh) | 信贷参数的更新方法、装置、电子设备、介质和程序产品 | |
CN111950238A (zh) | 自动驾驶故障评分表生成方法、装置、电子设备 | |
CN116775808A (zh) | 数据处理方法及其装置、设备、介质、产品 | |
CN114637795A (zh) | 报表处理方法、装置、设备、介质及产品 | |
CN114710450B (zh) | 流量控制方法、装置、设备及计算机存储介质 | |
CN114547101B (zh) | 数据中台的数据质量评估方法、装置、设备及存储介质 | |
CN116303337A (zh) | 数据迁移的方法、装置、设备及计算机存储介质 | |
CN116151964A (zh) | 数据处理方法、装置、设备、介质和程序产品 | |
CN115878887A (zh) | 内容推荐方法及其装置、设备、介质及产品 | |
CN118132655A (zh) | 信息同步方法、装置、设备、存储介质及程序产品 | |
CN117216113A (zh) | 用户的确定方法、装置、设备及计算机存储介质 | |
CN114185944A (zh) | 数据处理方法、装置、电子设备、介质和计算机程序产品 | |
CN115374069A (zh) | 数据保存和读取的方法、装置 | |
CN117291662A (zh) | 一种虚拟资源分配方法、装置、设备及计算机存储介质 | |
CN116010682A (zh) | 数据查询方法及其装置、设备、介质及产品 | |
CN117635294A (zh) | 数据处理方法、装置、设备及计算机存储介质 | |
CN115375277A (zh) | 报告生成方法、装置、设备及计算机可读存储介质 | |
CN116933467A (zh) | 联合建模方法、装置、设备、介质及产品 | |
CN117194402A (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 |