CN118069660A - 一种多数据源的数据归一化方法、电子设备及存储介质 - Google Patents
一种多数据源的数据归一化方法、电子设备及存储介质 Download PDFInfo
- Publication number
- CN118069660A CN118069660A CN202410482241.8A CN202410482241A CN118069660A CN 118069660 A CN118069660 A CN 118069660A CN 202410482241 A CN202410482241 A CN 202410482241A CN 118069660 A CN118069660 A CN 118069660A
- Authority
- CN
- China
- Prior art keywords
- field
- original
- target
- standard
- data
- 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
- 238000010606 normalization Methods 0.000 title claims abstract description 24
- 230000004927 fusion Effects 0.000 claims abstract description 66
- 238000000034 method Methods 0.000 claims abstract description 44
- 238000012545 processing Methods 0.000 claims abstract description 22
- 238000013507 mapping Methods 0.000 claims description 18
- 230000002159 abnormal effect Effects 0.000 claims description 5
- 238000007405 data analysis Methods 0.000 abstract description 6
- 230000007704 transition Effects 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 235000006719 Cassia obtusifolia Nutrition 0.000 description 2
- 235000014552 Cassia tora Nutrition 0.000 description 2
- 244000201986 Cassia tora Species 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000007499 fusion processing Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000013441 quality evaluation Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供了一种多数据源的数据归一化方法、电子设备及存储介质,涉及数据归一化领域,所述方法包括:获取每一预设的融合工程对应的每一目标字段,以得到目标字段列表集A;对A进行去重处理,以得到指定字段列表B;获取每一数据源发送的原始报文;根据B,获取每一原始报文对应的目标原始字段,以得到目标原始字段列表集C;根据预设的归一化规则,将C中的每一目标原始字段转换为对应的标准字段,以得到C对应的标准字段列表集D;根据D,对每一融合工程对应的目标字段列表中每一目标字段对应的字段值进行更新;本发明的方法无需对原始报文中的所有的原始字段进行处理,从而使得数据的解析更加简单,且数据的处理效率较高。
Description
技术领域
本发明涉及数据归一化领域,特别是涉及一种多数据源的数据归一化方法、电子设备及存储介质。
背景技术
在民航领域,民航管理平台为了实时监测航班的动态或者用户的行程事件信息,通常会接收多个不同的数据源所推送的数据流,然后对每一数据源推送的每一数据流进行处理,以实现对航班或者用户行程的信息监测;然而,对于不同数据源而言,所采用的数据格式以及字段的命名可能都是不同的,如果业务端直接使用每一数据源推送的数据流,则需要针对不同的数据源开发对应的解析规则,对相应的数据进行解析,从而会导致数据的解析非常的繁琐,数据的处理效率较低。
发明内容
针对上述技术问题,本发明采用的技术方案为:
根据本申请的第一方面,提供了一种多数据源的数据归一化方法,所述方法包括以下步骤:
S100,获取每一预设的融合工程对应的每一目标字段,以得到目标字段列表集A=(A1,A2,…,Ai,…,An),i=1,2,…,n;其中,Ai为第i个融合工程对应的目标字段列表,n为预设的融合工程的数量;Ai=(Ai,1,Ai,2,…,Ai,j,…,Ai,f(i)),j=1,2,…,f(i);Ai,j为第i个融合工程对应的第j个目标字段,f(i)为第i个融合工程对应的目标字段的数量;目标字段用于为融合工程提供对应的字段值。
S200,对A进行去重处理,以得到指定字段列表B=(B1,B2,…,Bk,…,Bm),k=1,2,…,m;其中,Bk为对A进行去重处理得到的第k个指定字段,m为对A进行去重处理后得到的指定字段的数量。
S300,获取每一数据源发送的原始报文;其中,每一原始报文包括若干原始字段,每一原始字段对应有字段值。
S400,根据B,获取每一原始报文对应的目标原始字段,以得到目标原始字段列表集C=(C1,C2,…,Cr,…,Cs),r=1,2,…,s;其中,Cr为第r个数据源发送的原始报文对应的目标原始字段列表,s为数据源的数量;Cr=(Cr,1,Cr,2,…,Cr,p,…,Cr,g(r)),p=1,2,…,g(r);Cr,p为第r个数据源发送的原始报文对应的目标原始字段列表中的第p个目标原始字段,g(r)为第r个数据源发送的原始报文对应的目标原始字段的数量;Cr,p对应于B中的一个指定字段。
S500,根据预设的归一化规则,将C中的每一目标原始字段转换为对应的标准字段,以得到C对应的标准字段列表集D=(D1,D2,…,Dr,…,Ds);其中,Dr为Cr对应的标准字段列表;Dr=(Dr,1,Dr,2,…,Dr,p,…,Dr,g(r));Dr,p为Cr,p对应的标准字段。
S600,根据D,对每一融合工程对应的目标字段列表中每一目标字段对应的字段值进行更新。
根据本申请的另一方面,还提供了一种非瞬时性计算机可读存储介质,存储介质中存储有至少一条指令或至少一段程序,至少一条指令或至少一段程序由处理器加载并执行以实现上述多数据源的数据归一化方法。
根据本申请的另一方面,还提供了一种电子设备,包括处理器和上述非瞬时性计算机可读存储介质。
本发明至少具有以下有益效果:
本发明的多数据源的数据归一化方法,对每一预设的融合工程对应的每一目标字段进行去重处理,得到所有的融合工程共同对应的指定字段列表,根据指定字段列表中的指定字段确定每一数据源发送的原始报文中的目标原始字段;将目标原始字段进行归一化处理,得到每一数据源对应的标准字段列表;根据每一数据源对应的标准字段列表对应每一融合工程对应的目标字段列表中每一目标字段对应的字段值进行更新;本发明的方法中,能够使用一种数据处理规则对不同数据格式的原始报文中的原始字段进行处理,且只处理融合工程需要的目标字段,无需对原始报文中的所有的原始字段进行处理,从而使得数据的解析更加简单,且数据的处理效率较高。
进一步的,本发明的方法,使得每一原始目标字段对应的标准字段的形式都是统一数据格式,不同的融合工程在使用原始报文中的数据时,只需要针对标准字段进行处理即可,无需考虑数据源发送的报文的格式以及原始字段的形式等问题,从而进一步简化数据解析的复杂度以及提高数据的处理效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的多数据源的数据归一化方法的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,基于本公开,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其他方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目个方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其他结构及/或功能性实施此设备及/或实践此方法。
下面将参照图1所述的多数据源的数据归一化方法的流程图,对一种多数据源的数据归一化方法进行介绍。
该多数据源的数据归一化方法可以包括以下步骤:
S100,获取每一预设的融合工程对应的每一目标字段,以得到目标字段列表集A=(A1,A2,…,Ai,…,An),i=1,2,…,n;其中,Ai为第i个融合工程对应的目标字段列表,n为预设的融合工程的数量;Ai=(Ai,1,Ai,2,…,Ai,j,…,Ai,f(i)),j=1,2,…,f(i);Ai,j为第i个融合工程对应的第j个目标字段,f(i)为第i个融合工程对应的目标字段的数量;目标字段用于为融合工程提供对应的字段值。
本实施例中,融合工程可以理解为业务端对不同数据源发送的数据进行融合以及展示的工程;例如,用户行程信息展示的融合工程;每一融合工程对应有一个目标字段列表,该目标字段列表可以为全量java bean形式,目标字段列表包括对应的融合工程所需要的所有的标准字段;例如,用户行程信息展示的融合工程对应的目标字段列表包括航班号字段、证件号字段、航段号字段等标准字段。
可以理解的是,由于本实施例中,每个融合工程对应的目标字段的数量是不同的,故而,本实施例中,f(i)不是指代一个具体的函数或函数结果值,而是指代一个随着i的具体值的不同而可能的值,例如,当i=1时,f(i)=3;i=2时,f(i)=4;i=3时,f(i)=3。
S200,对A进行去重处理,以得到指定字段列表B=(B1,B2,…,Bk,…,Bm),k=1,2,…,m;其中,Bk为对A进行去重处理得到的第k个指定字段,m为对A进行去重处理后得到的指定字段的数量。
本实施例中,可以理解的是,每一个融合工程所处理的数据的种类可能不同,所需要的标准字段也可能不完全相同;例如,用户行程信息展示的融合工程主要针对用户行程相关的字段进行处理,而航班信息展示的融合工程则针对航班相关的字段进行处理,二者针对的字段可能有相同的字段。
S300,获取每一数据源发送的原始报文;其中,每一原始报文包括若干原始字段,每一原始字段对应有字段值。
本实施例中,每一数据源会以原始报文的形式实时推送相关信息,原始报文会存在多种数据格式,例如,原始报文为json格式或者XML格式;可以理解的是,原始报文无论是哪一种格式,其中都会存在若干原始字段以及每一原始字段对应的字段值。
S400,根据B,获取每一原始报文对应的目标原始字段,以得到目标原始字段列表集C=(C1,C2,…,Cr,…,Cs),r=1,2,…,s;其中,Cr为第r个数据源发送的原始报文对应的目标原始字段列表,s为数据源的数量;Cr=(Cr,1,Cr,2,…,Cr,p,…,Cr,g(r)),p=1,2,…,g(r);Cr,p为第r个数据源发送的原始报文对应的目标原始字段列表中的第p个目标原始字段,g(r)为第r个数据源发送的原始报文对应的目标原始字段的数量;Cr,p对应于B中的一个指定字段。
本实施例中,步骤S100中的某一目标字段是与原始报文中的某一原始字段相对应的;例如,航班号在原始报文中对应的原始字段为Flightno,航班号对应的标准字段为flightnumber;Flightno和flightnumber所表示含义是相同的;因此,能够根据B,在每一原始报文的原始字段中确定出目标原始字段;目标原始字段可以理解为在B中具有对应的标准字段的原始字段。
需要说明的是,在获取目标原始字段时,如果一个原始报文中任意两个原始字段均不相同,那么,根据目标字段可以唯一确定并获取目标对应的目标原始字段;而如果一个原始报文中存在有相同的原始字段表示不同含义的多个原始字段,则需要根据原始字段表示的含义来指定具体是哪一个原始字段。
S500,根据预设的归一化规则,将C中的每一目标原始字段转换为对应的标准字段,以得到C对应的标准字段列表集D=(D1,D2,…,Dr,…,Ds);其中,Dr为Cr对应的标准字段列表;Dr=(Dr,1,Dr,2,…,Dr,p,…,Dr,g(r));Dr,p为Cr,p对应的标准字段。
本实施例中,可以理解的是,不同的数据源对同一含义的字段命名可能不同,为了融合工程获取数据的便利性,需要将不同数据源对应的原始字段进行归一化的处理,具体的,步骤S500可以包括以下步骤:
S501,遍历C,若Cr,p的首字母为大写字母,则将Cr,p的首字母更改为小写字母;否则,不对Cr,p的首字母进行更改,以得到C对应的中间原始字段列表集QC=(QC1,QC2,…,QCr,…,QCs);其中,QCr为Cr对应的中间原始字段列表;QCr=(QCr,1,QCr,2,…,QCr,p,…,QCr,g(r));QCr,p为Cr,p对应的中间原始字段。
本实施例中,原始报文对应的目标原始字段的首字母会存在大写字母,为了使得原始字段符合java bean处理的标准化结构,需要将首字母为大写字母的目标原始字段的首字母转换为对应的小写字母。
S502,根据预设的标准字段映射表,将QC中的每一中间原始字段转换为对应的标准字段,以得到D;其中,预设的标准字段映射表包括若干中间原始字段以及每一中间原始字段对应的标准字段。
本实施例中,标准字段映射表中包含了每一原始报文对应的每一中间原始字段以及每一原始字段对应的标准字段;例如,flightno和flight均表示航班号,那么flightno和flight均对应的标准字段均为flightnumber;由此,能够将QC中的每一中间原始字段转换为对应的标准字段,以得到D。
进一步的,对于不同的融合工程,对应有预设的若干主要的标准字段,定义为主键字段;所有的主键字段对应的字段值能够唯一确定用户的行程信息;例如,主键字段包括航班号字段、证件号字段、航段号字段等;然而,每一数据源发送的原始报文中并不一定包含所有的预设的主键字段;例如,某一数据源发送的原始报文只包含航班号字段和航段号字段;为了业务端能够完整展示用户的行程信息,则需要对D中的每一标准字段列表进行主键字段补全,具体的,在步骤S500之后以及步骤S600之前,所述方法还可以包括以下步骤:
S510,遍历Dr,若Dr,p为预设的主键字段,则获取Dr,p,以得到Dr对应的第一主键字段列表ZDr=(ZDr,1,ZDr,2,…,ZDr,a,…,ZDr,h(r)),a=1,2,…,h(r);其中,ZDr,a为Dr对应的第a个主键字段,h(r)为Dr对应的主键字段的数量;主键字段用于确定对应的行程信息。
本实施例中,Dr中会存在有主键字段和非主键字段,能够将Dr中的所有主键字段获取,以得到ZDr。
S520,遍历ZDr,若ZDr,a为预设的证件号字段,则获取ZDr,a对应的证件号HDr,a。
可以理解的是,ZDr中的主键字段中有可能存在证件号字段;证件号可以为用户的身份证号;能够根据证件号字段从原始报文中获取对应的证件号。
S530,根据HDr,a和预设的数据库映射表,确定Dr对应的用户所对应的数据库QDr;其中,预设的数据库映射表包括若干数据库以及每一数据库对应的证件号。
本实施例中,每一数据源发送的用户的历史行程信息会存储与对应的数据库中,需要说明的是,数据库可以为多个,同一用户的行程信息存储于同一个数据库中;根据证件号能够确定该用户对应的数据库。
进一步的,也可以将证件号转换为对应的哈希值再进行数据库的映射,以提高映射的私密性,避免证件号泄露。
S540,将QDr中的目标主键字段以及对应的字段值添加至ZDr中;其中,QDr中的目标主键字段为预设的主键字段中不在ZDr中的主键字段。
本实施例中,QDr中存储有HDr,a对应的若干条标准字段列表以及每一标准字段对应的字段值;能够在QDr的主键字段中确定出不在ZDr中的主键字段;然后将QDr的主键字段中不在ZDr中的主键字段添加至ZDr中,以达到主键字段补全的效果,从而使得ZDr包括所有的预设的主键字段,以确保ZDr中信息的完整。
进一步的,在步骤S510之后,所述方法包括以下步骤:
S511,遍历ZDr,若ZDr中不存在预设的证件号字段,则根据ZDr和预设的证件号映射表,确定ZDr对应的证件号字段以及证件号HDr,a;进入步骤S530;其中,预设的证件号映射表包括若干主键字段组和每一主键字段组对应的证件号,主键字段组包括若干主键字段。
本实施例中,对于Dr中不存在预设的证件号字段的情况,可以通过步骤S511中的方法,首先确定ZDr对应的证件号字段以及证件号HDr,a;例如,ZDr中包含航班号字段和座位号字段,根据航班号字段和座位号字段构成的主键字段组,能够在预设的证件号映射表中确定对应的证件号;然后再进入步骤S530。
本实施例中,获取每一数据源发送的原始报文对应的标准字段列表;获取每一标准字段列表中的主键字段,并获取主键字段中的证件号字段,以得到对应的证件号;根据证件号以及预设的数据库映射表,确定该证件号对应的用户数据所对应的数据库;根据标准字段列表中的其他主键字段在该数据库中确定出目标主键字段,然后将目标主键字段以及对应的字段值添加至标准字段列表内,以完成标准字段列表的补全;从而使得业务端在使用该事件流数据时,能够得到完整的用户数据,以提高业务平台信息展示的完整性。
进一步的,在步骤S500之后以及步骤S600之前,所述方法还可以包括以下步骤:
S550,将Dr中具有时间属性的标准字段确定为时间标准字段。
具有时间属性的标准字段可以为起飞时间字段、出票时间字段等。
S551,获取Dr中的每一时间标准字段以及每一时间标准字段对应的事件时间信息。
本实施例中,能够通过原始报文获取到每一时间标准字段对应的时间信息,标准字段对应的时间信息包括对应的事件的发生时间。
S552,根据每一时间标准字段对应的时间信息确定Dr对应的待定时间关系GX1,以及每一时间标准字段对应的事件的标准时间关系GX2;其中,GX1用于表征Dr中的每一时间标准字段对应的时间的先后顺序,GX2用于表征Dr中的每一时间标准字段对应的事件的真实发生时间先后顺序。
根据原始报文记录的每一时间标准字段对应的时间信息确定Dr对应的待定时间关系GX1;可以理解的是,GX1是根据Dr中的每一时间标准字段对应的时间的先后关系确定的,而GX2则是根据Dr中的每一时间标准字段对应的事件的真实发生时间先后顺序确定的;例如,起飞时间字段对应的时间为昨天,而出票时间字段对应的时间为今天,能够得出起飞时间早于出票时间的待定时间关系;而对应的标准时间关系应该是出票时间早于起飞时间。
S553,若GX1与GX2不同,则确定Dr异常。
本实施中,若GX1与GX2不同,表示Dr中的目标字段对应的字段值存在异常;由此,通过上述方法能够确定Dr中的每一标准字段对应的字段值是正确的。
S600,根据D,对每一融合工程对应的目标字段列表中每一目标字段对应的字段值进行更新。
本实施例中,每一融合工程对应有目标字段列表,只需要将D中与目标字段相同的标准字段对应的字段值添加至目标字段,即可完成融合工程对应的目标字段的数据更新。
本实施例的多数据源的数据归一化方法,对每一预设的融合工程对应的每一目标字段进行去重处理,得到所有的融合工程共同对应的指定字段列表,根据指定字段列表中的指定字段确定每一数据源发送的原始报文中的目标原始字段;将目标原始字段进行归一化处理,得到每一数据源对应的标准字段列表;根据每一数据源对应的标准字段列表对应每一融合工程对应的目标字段列表中每一目标字段对应的字段值进行更新;本发明的方法中,能够使用一种数据处理规则对不同数据格式的原始报文中的原始字段进行处理,且只处理融合工程需要的目标字段,无需对原始报文中的所有的原始字段进行处理,从而使得数据的解析更加简单,且数据的处理效率较高。
另外,本实施例的方法能够使得每一原始目标字段对应的标准字段的形式都是统一数据格式,不同的融合工程在使用原始报文中的数据时,只需要针对标准字段进行处理即可,无需考虑数据源发送的报文的格式以及原始字段的形式等问题,从而进一步简化数据解析的复杂度以及提高数据的处理效率。
进一步的,在步骤S600之后,所述方法可以包括以下步骤:
S700,获取新增的融合工程对应的每一新增目标字段,以得到新增目标字段列表QA=(QA1,QA2,…,QAu,…,QAv),u=1,2,…,v;其中,QAu为新增的融合工程对应的第u个新增目标字段,v为新增的融合工程对应的新增目标字段的数量。
S710,遍历QA,若QA中的每一新增目标字段均在B中存在,则新增的融合工程使用D更新对应的字段值。
S720,若QAu在B中不存在,则将QAu添加至B中,进入步骤S400。
本实施例中,如果新增了融合工程,则可以根据新增的融合工程对应的新增目标字段来确定是否要对数据源的原始字段进行新增获取;即使需要新增获取,也仅仅是将新增目标字段添加至B中即可,无需对原始字段归一化的规则进行重新设置,从而在新增融合工程时,大大简化数据解析的工作量。
进一步的,在步骤S600之后,所述方法还包括以下步骤:
S800,获取新增的数据源发送的原始报文对应的每一原始字段,以得到新增原始字段列表QB=(QB1,QB2,…,QBx,…,QBy),x=1,2,…,y;其中,QBx为新增的数据源发送的原始报文对应的第x个原始字段,y为新增的数据源发送的原始报文对应的原始字段的数量。
S810,遍历QB,若QBx在B中存在对应的指定字段,则将QBx确定为新增的数据源对应的目标原始字段,以得到新增的数据源对应的目标原始字段列表WB。
S820,将WB添加至C中,进入步骤S500。
本实施例中,如果新增了数据源,只需要确定新增的数据源发送的原始报文中是否存在与B中的指定字段对应的原始字段;如果存在,则将该原始报文中存在与B中的指定字段对应的原始字段确定为目标原始字段,并添加至C中即可;并不需要对归一化的规则进行重新设置,因此,在新增数据源时,能够大大简化数据解析的工作量,提高数据解析的效率。
在一示例性的实施例中,对于补全后的标准字段列表,有一些补全后的标准字段列表可能会存在有事件发生的逻辑错误的问题,因此,融合过程在使用之前,还需要确定是否采信补全后的标准字段;具体的,对补全后的标准字段列表的采信判断可以包括以下步骤:
T100,获取目标融合工程当前对应的目标字段列表RT对应的事件QE;其中,RT包括若干目标字段以及每一目标字段当前对应的字段值。
本实施例中,目标融合工程可以为若干融合工程中的任一融合工程;可以理解的是,融合工程对应的是目标字段,每一数据源对应的是标准字段,如果一个目标字段的含义和另一个标准字段的含义是相同的,那么该目标字段和该标准字段是相同的,只是命名不同;融合工程对应的目标字段列表中的数据对应了一个事件;例如,融合工程当前对应的事件为值机。
T200,根据QE和预设的可跃迁事件映射表,确定QE对应的可跃迁事件列表LE=(LE1,LE2,…,LEc,…,LEd),c=1,2,…,d;其中,LEc为QE对应的第c个可跃迁事件,d为QE对应的可跃迁事件的数量;LEc在QE之后发生。
本实施例中,每一事件对应有后续可以发生的事件,称为可跃迁事件;例如,值机事件对应的可跃迁事件包括取消值机事件、起飞事件等;出票事件则不是值机事件的可跃迁事件。
T300,获取每一数据源发送的原始报文对应的补全后的标准字段列表,以得到补全后的标准字段列表集E=(E1,E2,…,Er,…,Es),r=1,2,…,s;其中,Er 为第r个数据源发送的原始报文对应的补全后的标准字段列表,s为数据源的数量;Er=(Er,1,Er,2,…,Er,q,…,Er,y(r));Er,q为第r个数据源发送的原始报文对应的补全后的标准字段列表中的第q个标准字段,y(r)为第r个数据源发送的原始报文对应的补全后的标准字段列表中标准字段的数量;其中,每一原始报文包括若干原始字段,每一原始字段对应有字段值;标准字段根据对应的原始字段得到;E用于对RT进行更新。
本实施例中,补全后的标准字段列表集E可以通过上述实施例中的方法得到,此处不加赘述。
进一步的,在步骤T300之后以及步骤T400之前,所述方法可以包括以下步骤:
T310,获取每一数据源当前对应的数据源质量指数,以得到数据源质量指数列表η=(η1,η2,…,ηr,…,ηs);其中,ηr为第r个数据源当前对应的数据源质量指数;每一数据源当前对应的数据源质量指数根据预设的数据源质量指数确定规则得到。
T320,遍历η,若ηr<LF,则确定Er对应的事件数据流不可采信;否则,进入步骤T400;其中,LF为预设的数据源质量指数阈值。
本实施例中,首先获取每一补全后的标准字段列表对应的数据源的数据源质量指数,若某一数据源的数据源质量指数小于预设的数据源质量指数阈值,则确定该数据源是异常的,那么该数据源所发送的原始报文中的数据也存在异常,则确定该异常的数据源对应的补全后的标准字段列表对应的事件流数据不可采信;数据源质量指数为预设的数据源质量评价系统根据预设的评价规则得到。
T400,根据E中每一补全后的标准字段列表中的事件字段对应的字段值,确定每一数据源发送的原始报文对应的事件,以得到E对应的事件列表RA=(RA1,RA2,…,RAr,…,RAs);其中,RAr为Er对应的事件。
可以理解的是,每一补全后的标准字段列表对应有一个表示时间的字段,能够直接确定每一补全后的标准字段列表对应的事件。
T500,遍历RA,若RAr∈LE,则确定Er对应的事件数据流为可采信。
本实施例中,若RAr∈LE,表示RAr为Er对应的可跃迁事件,即RAr在QE之后发生是符合事件发生的逻辑的,因此,确定Er对应的事件数据流为可采信;直接使用Er对应的事件流数据对RT进行更新即可。
本实施例的事件流数据采信判断方法,根据融合工程当前对应的事件QE,确定对应的可跃迁事件列表LE;然后判断每一补全后的标准字段对应事件是否在LE内,如果任一补全后的标准字段列表对应的事件在LE内,则表示该补全后的标准字段对应的事件在QE之后发生事符合逻辑的,从而确定Er对应的事件数据流为可采信;通过本实施例中的方法,能够避免业务平台按照收到的流数据的先后顺序进行处理,导致数据展示紊乱或错误的问题发生。
进一步的,在步骤T500之后,所述方法可以包括以下步骤:
T600,若RAr∉LE,则将Er转存至预设的中间数据列表中;其中,Er在中间数据列表中的存储时长为预设时长。
本实施例中,若RAr∉LE,表示RAr不是QE对应的可跃迁事件,但是,此时并不能够确定Er对应的事件数据流为不可采信;因为会存在事件的实际发生的时间顺序与接收到的对应的报文的顺序不同;例如,QE为出票事件,值机事件先于取消值机事件发生,而融合工程先接收到取消值机事件对应的原始报文;那么取消值机事件不是出票事件的可跃迁事件,导致RAr∉LE;预设时长可以为500ms,即设置一个等待时间窗口。
T610,获取中间数据列表中的每一标准字段列表对应的事件的发生时间,以得到事件发生时间列表t=(t1,t2,…,te,…,tz),e=1,2,…,z;其中,te为中间数据列表中的第e个标准字段列表对应的事件的发生时间,z为中间数据列表中标准字段列表的数量。
T620,按照t中每一发生时间的先后顺序,对t中的发生时间进行排序,以得到t对应的排序后的事件发生时间列表t’=(t’1,t’2,…,t’e,…,t’z);其中,t’α早于t’α+1;α=1,2,…,z-1。
在等待时间窗口内,按照事件的实际发生时间进行排序,此时并不考虑接收到原始报文的时间,从而对事件发生的真实顺序进行调整。
T630,获取预设值M=1。
T640,使用t’M对RT进行更新。
T650,若t’M+1对应的事件在QE对应的可跃迁事件列表内,则获取M=M+1,并进入步骤T640;否则,删除t’M+1对应的标准字段列表。
本实施例中,可以理解的是,QE是动态变化的,RT没更新一次,QE会跟随相应的更新;通过上述方法,能够对所有的疑似不是可跃迁事件的事件按照事件真实发生的时间进行重新排序,然后依次对RT进行更新,从而确保数据的完整性,避免数据被错误的抛弃。
此外,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
本发明的实施例还提供了一种非瞬时性计算机可读存储介质,该存储介质可设置于电子设备之中以保存用于实现方法实施例中一种方法相关的至少一条指令或至少一段程序,该至少一条指令或该至少一段程序由该处理器加载并执行以实现上述实施例提供的方法。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
本发明的实施例还提供了一种电子设备,包括处理器和前述的非瞬时性计算机可读存储介质。
根据本申请的这种实施方式的电子设备。电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
电子设备以通用计算设备的形式表现。电子设备的组件可以包括但不限于:上述至少一个处理器、上述至少一个储存器、连接不同系统组件(包括储存器和处理器)的总线。
其中,所述储存器存储有程序代码,所述程序代码可以被所述处理器执行,使得所述处理器执行本说明书中描述的各种实施例中的步骤。
储存器可以包括易失性储存器形式的可读介质,例如随机存取储存器(RAM)和/或高速缓存储存器,还可以进一步包括只读储存器(ROM)。
储存器还可以包括具有一组(至少一个)程序模块的程序/实用工具,这样的程序模块包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线可以为表示几类总线结构中的一种或多种,包括储存器总线或者储存器控制器、外围总线、图形加速端口、处理器或者使用多种总线结构中的任意总线结构的局域总线。
电子设备也可以与一个或多个外部设备(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备交互的设备通信,和/或与使得该电子设备能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口进行。并且,电子设备还可以通过网络适配器与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器通过总线与电子设备的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。
本发明的实施例还提供一种计算机程序产品,其包括程序代码,当所述程序产品在电子设备上运行时,所述程序代码用于使该电子设备执行本说明书上述描述的根据本发明各种示例性实施方式的方法中的步骤。
虽然已经通过示例对本发明的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本发明的范围。本领域的技术人员还应理解,可以对实施例进行多种修改而不脱离本发明的范围和精神。
Claims (9)
1.一种多数据源的数据归一化方法,其特征在于,所述方法包括以下步骤:
S100,获取每一预设的融合工程对应的每一目标字段,以得到目标字段列表集A=(A1,A2,…,Ai,…,An),i=1,2,…,n;其中,Ai为第i个融合工程对应的目标字段列表,n为预设的融合工程的数量;Ai=(Ai,1,Ai,2,…,Ai,j,…,Ai,f(i)),j=1,2,…,f(i);Ai,j为第i个融合工程对应的第j个目标字段,f(i)为第i个融合工程对应的目标字段的数量;目标字段用于为融合工程提供对应的字段值;
S200,对A进行去重处理,以得到指定字段列表B=(B1,B2,…,Bk,…,Bm),k=1,2,…,m;其中,Bk为对A进行去重处理得到的第k个指定字段,m为对A进行去重处理后得到的指定字段的数量;
S300,获取每一数据源发送的原始报文;其中,每一原始报文包括若干原始字段,每一原始字段对应有字段值;
S400,根据B,获取每一原始报文对应的目标原始字段,以得到目标原始字段列表集C=(C1,C2,…,Cr,…,Cs),r=1,2,…,s;其中,Cr为第r个数据源发送的原始报文对应的目标原始字段列表,s为数据源的数量;Cr=(Cr,1,Cr,2,…,Cr,p,…,Cr,g(r)),p=1,2,…,g(r);Cr,p为第r个数据源发送的原始报文对应的目标原始字段列表中的第p个目标原始字段,g(r)为第r个数据源发送的原始报文对应的目标原始字段的数量;Cr,p对应于B中的一个指定字段;
S500,根据预设的归一化规则,将C中的每一目标原始字段转换为对应的标准字段,以得到C对应的标准字段列表集D=(D1,D2,…,Dr,…,Ds);其中,Dr为Cr对应的标准字段列表;Dr=(Dr,1,Dr,2,…,Dr,p,…,Dr,g(r));Dr,p为Cr,p对应的标准字段;
S600,根据D,对每一融合工程对应的目标字段列表中每一目标字段对应的字段值进行更新。
2.根据权利要求1所述的多数据源的数据归一化方法,其特征在于,步骤S500包括以下步骤:
S501,遍历C,若Cr,p的首字母为大写字母,则将Cr,p的首字母更改为小写字母;否则,不对Cr,p的首字母进行更改,以得到C对应的中间原始字段列表集QC=(QC1,QC2,…,QCr,…,QCs);其中,QCr为Cr对应的中间原始字段列表;QCr=(QCr,1,QCr,2,…,QCr,p,…,QCr,g(r));QCr,p为Cr,p对应的中间原始字段;
S502,根据预设的标准字段映射表,将QC中的每一中间原始字段转换为对应的标准字段,以得到D;其中,预设的标准字段映射表包括若干中间原始字段以及每一中间原始字段对应的标准字段。
3.根据权利要求1所述的多数据源的数据归一化方法,其特征在于,在步骤S600之后,所述方法包括以下步骤:
S700,获取新增的融合工程对应的每一新增目标字段,以得到新增目标字段列表QA=(QA1,QA2,…,QAu,…,QAv),u=1,2,…,v;其中,QAu为新增的融合工程对应的第u个新增目标字段,v为新增的融合工程对应的新增目标字段的数量;
S710,遍历QA,若QA中的每一新增目标字段均在B中存在,则新增的融合工程使用D更新对应的字段值;
S720,若QAu在B中不存在,则将QAu添加至B中,进入步骤S400。
4.根据权利要求1所述的多数据源的数据归一化方法,其特征在于,在步骤S600之后,所述方法还包括以下步骤:
S800,获取新增的数据源发送的原始报文对应的每一原始字段,以得到新增原始字段列表QB=(QB1,QB2,…,QBx,…,QBy),x=1,2,…,y;其中,QBx为新增的数据源发送的原始报文对应的第x个原始字段,y为新增的数据源发送的原始报文对应的原始字段的数量;
S810,遍历QB,若QBx在B中存在对应的指定字段,则将QBx确定为新增的数据源对应的目标原始字段,以得到新增的数据源对应的目标原始字段列表WB;
S820,将WB添加至C中,进入步骤S500。
5.根据权利要求1所述的多数据源的数据归一化方法,其特征在于,在步骤S500之后以及步骤S600之前,所述方法还包括以下步骤:
S510,遍历Dr,若Dr,p为预设的主键字段,则获取Dr,p,以得到Dr对应的第一主键字段列表ZDr=(ZDr,1,ZDr,2,…,ZDr,a,…,ZDr,h(r)),a=1,2,…,h(r);其中,ZDr,a为Dr对应的第a个主键字段,h(r)为Dr对应的主键字段的数量;主键字段用于确定对应的行程信息;
S520,遍历ZDr,若ZDr,a为预设的证件号字段,则获取ZDr,a对应的证件号HDr,a;
S530,根据HDr,a和预设的数据库映射表,确定Dr对应的用户所对应的数据库QDr;其中,预设的数据库映射表包括若干数据库以及每一数据库对应的证件号;
S540,将QDr中的目标主键字段以及对应的字段值添加至ZDr中;其中,QDr中的目标主键字段为预设的主键字段中不在ZDr中的主键字段。
6.根据权利要求5所述的多数据源的数据归一化方法,其特征在于,在步骤S510之后,所述方法包括以下步骤:
S511,遍历ZDr,若ZDr中不存在预设的证件号字段,则根据ZDr和预设的证件号映射表,确定ZDr对应的证件号字段以及证件号HDr,a;进入步骤S530;其中,预设的证件号映射表包括若干主键字段组和每一主键字段组对应的证件号,主键字段组包括若干主键字段。
7.根据权利要求1所述的多数据源的数据归一化方法,其特征在于,在步骤S500之后以及步骤S600之前,所述方法还包括以下步骤:
S550,将Dr中具有时间属性的标准字段确定为时间标准字段;
S551,获取Dr中的每一时间标准字段以及每一时间标准字段对应的时间信息;
S552,根据每一时间标准字段对应的时间信息确定Dr对应的待定时间关系GX1,以及每一时间标准字段对应的事件的标准时间关系GX2;其中,GX1用于表征Dr中的每一时间标准字段对应的时间的先后顺序,GX2用于表征Dr中的每一时间标准字段对应的事件的真实发生时间先后顺序;
S553,若GX1与GX2不同,则确定Dr异常。
8.一种非瞬时性计算机可读存储介质,所述存储介质中存储有至少一条指令或至少一段程序,其特征在于,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现如权利要求1-7中任意一项所述的多数据源的数据归一化方法。
9.一种电子设备,其特征在于,包括处理器和权利要求8所述的非瞬时性计算机可读存储介质。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410482241.8A CN118069660B (zh) | 2024-04-22 | 2024-04-22 | 一种多数据源的数据归一化方法、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410482241.8A CN118069660B (zh) | 2024-04-22 | 2024-04-22 | 一种多数据源的数据归一化方法、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN118069660A true CN118069660A (zh) | 2024-05-24 |
CN118069660B CN118069660B (zh) | 2024-07-12 |
Family
ID=91106184
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410482241.8A Active CN118069660B (zh) | 2024-04-22 | 2024-04-22 | 一种多数据源的数据归一化方法、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118069660B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200004868A1 (en) * | 2018-06-27 | 2020-01-02 | International Business Machines Corporation | Dynamic incremental updating of data cubes |
CN112487122A (zh) * | 2020-12-02 | 2021-03-12 | 电信科学技术第十研究所有限公司 | 地址归一化处理方法及装置 |
CN113298121A (zh) * | 2021-04-30 | 2021-08-24 | 上海淇玥信息技术有限公司 | 基于多数据源建模的消息发送方法、装置和电子设备 |
CN113792039A (zh) * | 2021-03-15 | 2021-12-14 | 北京京东振世信息技术有限公司 | 数据处理方法及装置、电子设备、存储介质 |
US20220043773A1 (en) * | 2021-02-09 | 2022-02-10 | Beijing Baidu Netcom Science Tehnology Co., Ltd. | Information processing method, electronic device, and storage medium |
CN116701383A (zh) * | 2023-08-03 | 2023-09-05 | 中航信移动科技有限公司 | 一种数据实时质量监测方法、电子设备及存储介质 |
CN117076574A (zh) * | 2023-10-16 | 2023-11-17 | 北京持安科技有限公司 | 一种可编排多数据源数据同步聚合方法及装置 |
CN117216076A (zh) * | 2023-09-13 | 2023-12-12 | 中航信移动科技有限公司 | 一种数据更新方法、介质和电子设备 |
CN117390011A (zh) * | 2023-09-07 | 2024-01-12 | 中国银行股份有限公司 | 报表数据处理方法、装置、计算机设备和存储介质 |
CN117609282A (zh) * | 2024-01-23 | 2024-02-27 | 中航信移动科技有限公司 | 字段标准化处理方法、介质和设备 |
-
2024
- 2024-04-22 CN CN202410482241.8A patent/CN118069660B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200004868A1 (en) * | 2018-06-27 | 2020-01-02 | International Business Machines Corporation | Dynamic incremental updating of data cubes |
CN112487122A (zh) * | 2020-12-02 | 2021-03-12 | 电信科学技术第十研究所有限公司 | 地址归一化处理方法及装置 |
US20220043773A1 (en) * | 2021-02-09 | 2022-02-10 | Beijing Baidu Netcom Science Tehnology Co., Ltd. | Information processing method, electronic device, and storage medium |
CN113792039A (zh) * | 2021-03-15 | 2021-12-14 | 北京京东振世信息技术有限公司 | 数据处理方法及装置、电子设备、存储介质 |
CN113298121A (zh) * | 2021-04-30 | 2021-08-24 | 上海淇玥信息技术有限公司 | 基于多数据源建模的消息发送方法、装置和电子设备 |
CN116701383A (zh) * | 2023-08-03 | 2023-09-05 | 中航信移动科技有限公司 | 一种数据实时质量监测方法、电子设备及存储介质 |
CN117390011A (zh) * | 2023-09-07 | 2024-01-12 | 中国银行股份有限公司 | 报表数据处理方法、装置、计算机设备和存储介质 |
CN117216076A (zh) * | 2023-09-13 | 2023-12-12 | 中航信移动科技有限公司 | 一种数据更新方法、介质和电子设备 |
CN117076574A (zh) * | 2023-10-16 | 2023-11-17 | 北京持安科技有限公司 | 一种可编排多数据源数据同步聚合方法及装置 |
CN117609282A (zh) * | 2024-01-23 | 2024-02-27 | 中航信移动科技有限公司 | 字段标准化处理方法、介质和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN118069660B (zh) | 2024-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200242015A1 (en) | Automated test case management systems and methods | |
EP3726779A1 (en) | Device for testing blockchain network | |
WO2020168851A1 (zh) | 行为识别 | |
WO2021159834A1 (zh) | 异常信息处理节点分析方法、装置、介质及电子设备 | |
WO2023071761A1 (zh) | 一种异常定位方法及装置 | |
CN104992022A (zh) | 一种基于模型的航空电子系统接口管理方法 | |
CN104951623A (zh) | 一种基于模型的航空电子系统接口管理系统 | |
CN115034596A (zh) | 一种风险传导预测方法、装置、设备和介质 | |
CN106407075A (zh) | 一种用于大数据平台的管理方法及系统 | |
CN113268761A (zh) | 信息加密方法、装置、电子设备和计算机可读介质 | |
US20190286500A1 (en) | Systems and method for event parsing | |
CN110955801B (zh) | 一种cognos报表指标的知识图谱分析方法及系统 | |
CN115510249A (zh) | 一种知识图谱的构建方法及装置、电子设备、存储介质 | |
CN114443437A (zh) | 告警根因输出方法、装置、设备、介质和程序产品 | |
CN118069660B (zh) | 一种多数据源的数据归一化方法、电子设备及存储介质 | |
CN112632052B (zh) | 一种异构数据的共享方法及智能共享系统 | |
CN112579632A (zh) | 一种数据核验方法、装置、设备和介质 | |
US10003492B2 (en) | Systems and methods for managing data related to network elements from multiple sources | |
CN115062056B (zh) | 一种用于民航数据的用户查找方法、电子设备及存储介质 | |
CN116796233A (zh) | 数据分析方法、装置、计算机可读介质及电子设备 | |
CN113139881B (zh) | 双电源用户主供电源识别方法、装置、设备及存储介质 | |
CN115065563A (zh) | 一种基于区块链预言机的民航数据处理系统 | |
CN113377604B (zh) | 一种数据处理方法、装置、设备和存储介质 | |
CN114116782A (zh) | 分布式数据库资源管控方法、装置、电子设备和存储介质 | |
CN112035366A (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 | ||
GR01 | Patent grant |