CN110895534B - 一种数据拼接方法、装置、介质及电子设备 - Google Patents

一种数据拼接方法、装置、介质及电子设备 Download PDF

Info

Publication number
CN110895534B
CN110895534B CN201810975664.8A CN201810975664A CN110895534B CN 110895534 B CN110895534 B CN 110895534B CN 201810975664 A CN201810975664 A CN 201810975664A CN 110895534 B CN110895534 B CN 110895534B
Authority
CN
China
Prior art keywords
data
spliced
splicing
database
change
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
Application number
CN201810975664.8A
Other languages
English (en)
Other versions
CN110895534A (zh
Inventor
张学刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201810975664.8A priority Critical patent/CN110895534B/zh
Publication of CN110895534A publication Critical patent/CN110895534A/zh
Application granted granted Critical
Publication of CN110895534B publication Critical patent/CN110895534B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例提供了一种数据拼接方法、装置、介质及电子设备,该数据拼接方法包括:从源数据库中确定出日志文件的变更数据,将变更数据加入至消息队列;对消息队列中的变更数据进行预处理,确定出变更数据中的待拼接数据;根据预设数据库表的外键对各个待拼接数据进行拼接,将拼接后所获得的拼接数据同步至目标数据库。本发明实施例的技术方案能够以对现有业务系统无入侵的改动方式,实现分布式数据库数据的拼接操作,提供了高效率的实时查询,提高了数据查询与追踪的响应速度。

Description

一种数据拼接方法、装置、介质及电子设备
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种数据拼接方法、装置、介质及电子设备。
背景技术
随着互联网和大数据技术的推广和普及,分布式集群的数据仓库已逐步成为主流。目前数据仓库的数据来源主要包括存放于关系型数据库的会员、订单等结构化数据,以及用户行为、应用日志、图像视频等以文件形式存储的非结构化数据,其中存放于关系型数据库的会员、订单等结构化数据是数据仓库数据来源中最重要的部分,也是数据分析和挖掘最有价值的部分。
为了系统的性能考虑和高扩展性,现有建设系统都以积木方式构建,大多以微服务形式存在,并且对数据库的拆分会非常细化,但系统微服务化后,一个完整的业务单据(比如电商系统中的订单),它的状态、分布于各个系统(订单的物流信息、订单的支付信息、订单的结算信息、开票情况),此时,业务人员想要全流程跟踪此订单时,需要在各个系统进行查看,实施难度大且繁琐。
现有技术中对该订单的信息进行拼接一般采用如下方式:
方式1:通过数据的离线加工,对数据进行建模,建立数据仓库,提供系统进行查询,这样建模是可以解决数据的多维度存储以及拼接查询
方式2:各个业务系统发送自己的消息,然后由一个系统统一接收,接收之后对数据进行实时拼接,这样也可以作为一个准实时的拼接方案
上述的现有技术存在如下问题:
(1)方式1的技术方案有明显的滞后性,不能满足实时的场景。
(2)方式2的技术方案虽然解决了拼接的实时性,但是对业务系统的侵入较大,必须由业务系统触发发送消息。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本发明的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本发明实施例的目的在于提供一种数据拼接方法、装置、介质及电子设备,进而至少在一定程度上克服相关技术中数据查询不实时并且对业务系统侵入大的一个或多个问题。
本发明的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本发明的实践而习得。
根据本发明实施例的第一方面,提供了一种数据拼接方法,包括:
从源数据库中确定出日志文件的变更数据,将变更数据加入至消息队列;
对消息队列中的变更数据进行预处理,确定出变更数据中的待拼接数据;
根据预设数据库表的外键对各个待拼接数据进行拼接,将拼接后所获得的拼接数据同步至目标数据库。
在本发明的一个实施例中,上述从源数据库中确定出日志文件的变更数据包括:
对关系型数据库中的日志文件进行实时检测,确定出日志文件中更改数据库表以及更改内容的变更数据。
在本发明的一个实施例中,上述对变更数据进行预处理,确定出变更数据中的待拼接数据包括:
预设的Strom集群获取消息队列中的变更数据后,分发变更数据;
根据预设的目标字段对所分发的变更数据进行识别,获得符合目标字段的变更数据;
将符合目标字段的变更数据确定为待拼接数据,并将待拼接数据进行map封装。
在本发明的一个实施例中,上述根据预设数据库表的外键对各个待拼接数据进行拼接,将拼接后所获得的拼接数据同步至目标数据库包括:
根据预设的业务表外键判断各个待拼接数据之间的关联关系;
将所确定出有关联关系的待拼接数据进行拼接,获得拼接数据;
将拼接数据同步至目标数据库。
在本发明的一个实施例中,上述方法还包括:
判断拼接数据是否需要继续拼接;
当确定拼接数据需要继续拼接后,将拼接数据导入至中转数据库中,并检测是否获取需要继续拼接的待拼接数据;
当获取需要继续拼接的待拼接数据后,将中转数据库中的拼接数据取出与需要继续拼接的待拼接数据进行拼接,获得第二次拼接后的拼接数据;
将第二次拼接后的拼接数据同步至目标数据库。
根据本发明实施例的第二方面,提供了一种数据拼接装置,包括:
确定模块,用于从源数据库中确定出日志文件的变更数据,将变更数据加入至消息队列;
预处理模块,用于对消息队列中的变更数据进行预处理,确定出变更数据中的待拼接数据;
拼接模块,用于根据预设数据库表的外键对各个待拼接数据进行拼接,将拼接后所获得的拼接数据同步至目标数据库。
在本发明的一个实施例中,上述确定模块具体用于:
对关系型数据库中的日志文件进行实时检测,确定出日志文件中更改数据库表以及更改内容的变更数据。
在本发明的一个实施例中,上述预处理模块具体用于:
预设的Strom集群获取消息队列中的变更数据后,分发变更数据;
根据预设的目标字段对所分发的变更数据进行识别,获得符合目标字段的变更数据;
将符合目标字段的变更数据确定为待拼接数据,并将待拼接数据进行map封装。
在本发明的一个实施例中,上述拼接模块具体用于:
根据预设的业务表外键判断各个待拼接数据之间的关联关系;
将所确定出有关联关系的待拼接数据进行拼接,获得拼接数据;
将拼接数据同步至目标数据库。
在本发明的一个实施例中,上述拼接模块还用于:
判断拼接数据是否需要继续拼接;
当确定拼接数据需要继续拼接后,将拼接数据导入至中转数据库中,并检测是否获取需要继续拼接的待拼接数据;
当获取需要继续拼接的待拼接数据后,将中转数据库中的拼接数据取出与需要继续拼接的待拼接数据进行拼接,获得第二次拼接后的拼接数据;
将第二次拼接后的拼接数据同步至目标数据库。
根据本发明实施例的第三方面,提供了一种计算机可读介质,其上存储有计算机程序,上述程序被处理器执行时实现如上述实施例中第一方面的数据拼接方法。
根据本发明实施例的第四方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现如上述实施例中第一方面的数据拼接方法。
本发明实施例提供的技术方案可以包括以下有益效果:
本发明实施例提供了一种数据拼接方法、装置、介质及电子设备,该数据拼接方法包括:从源数据库中确定出日志文件的变更数据,将变更数据加入至消息队列;对消息队列中的变更数据进行预处理,确定出变更数据中的待拼接数据;根据预设数据库表的外键对各个待拼接数据进行拼接,将拼接后所获得的拼接数据同步至目标数据库。本发明实施例的技术方案能够以对现有业务系统无入侵的改动方式,实现分布式数据库数据的拼接操作,提供了高效率的实时查询,提高了数据查询与追踪的响应速度。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示意性示出了根据本发明的一个实施例的数据拼接方法流程图;
图2示意性示出了根据本发明的一个实施例的确定待拼接数据的示意图;
图3示意性示出了根据本发明的一个实施例的进行拼接数据的示意图;
图4示意性示出了根据本发明的一个实施例的数据拼接装置的框图;
图5示出了适于用来实现本发明实施例的电子设备的计算机系统的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本发明将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本发明的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本发明的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
图1示意性示出了根据本发明的一个实施例的数据拼接方法流程图。
参照图1所示,根据本发明的一个实施例的数据拼接方法,包括如下步骤:
在步骤S110中,从源数据库中确定出日志文件的变更数据,将变更数据加入至消息队列。
在本发明的一个实施例中,对关系型数据库中的日志文件进行实时检测,确定出日志文件中更改数据库表以及更改内容的变更数据。
在本发明的一个实施例中,源数据库可以是微服务框架中的多个服务单元以及多个数据库,该数据库可以是关系型数据库,例如:Oracle、DB2、Microsoft SQL Server、Microsoft Access、MySQL等关系型数据库,在该微服务框架中每个服务业务运行在自己的进程中,将运行过程中数据增删改查等对源数据库有更新的内容记录在日志文件中例如:binlog文件,通过对该日志文件进行分析即可确定出源数据库中的变更数据,并将变更数据加入至Strom集群中对应的消息队列。
在步骤S120中,对消息队列中的变更数据进行预处理,确定出变更数据中的待拼接数据。
在本发明的一个实施例中,预设的Strom集群获取消息队列中的变更数据后,分发变更数据;根据预设的目标字段对所分发的变更数据进行识别,获得符合目标字段的变更数据;将符合目标字段的变更数据确定为待拼接数据,并将待拼接数据进行map封装。
在本发明的一个实施例中,预设Strom集群的结构是有一个主节点和多个工作节点组成的主从结构,主节点通过配置静态指定,或在运行时动态选举,主节点可以是Strom集群的Spout,用于从源数据库对应的消息队列中获取变更数据,并将变更数据向工作节点(例如:Strom集群的bolt)分发,由工作节点对变更数据进行预处理,在预处理过程中工作节点判断变更数据中是否包含有目标字段,即用户所需要的数据,如果包含有目标字段,将该变更数据进行map个封装,根据预设的分配策略将封装后的变更数据发送至进行拼接处理的工作节点。
图2示意性示出了根据本发明的一个实施例的确定待拼接数据的示意图。
参照图2所示,根据本发明的一个实施例的确定待拼接数据包括:通过实时监控源关系型数据库从库的binlog日志,将数据库的变化数据实时发送到自身消息队列(MQ,Message Queue)中,然后通过Strom集群接收每个数据库MQ的变更数据,然后分发到多个bolt进行预处理,在预处理中将变更数据与本地关心的字段进行对比,如果确定字段关心,将变更数据进行map封装,然后将封装后的变更数据通过fieldsGrouping交给拼接处理的bolt进行数据拼接。
在步骤S130中,根据预设数据库表的外键对各个待拼接数据进行拼接,将拼接后所获得的拼接数据同步至目标数据库。
在本发明的一个实施例中,根据预设的业务表外键判断各个待拼接数据之间的关联关系;将所确定出有关联关系的待拼接数据进行拼接,获得拼接数据;将拼接数据同步至目标数据库。
在本发明的一个实施例中,判断拼接数据是否需要继续拼接;当确定拼接数据需要继续拼接后,将拼接数据导入至中转数据库中,并检测是否获取需要继续拼接的待拼接数据;当获取需要继续拼接的待拼接数据后,将中转数据库中的拼接数据取出与需要继续拼接的待拼接数据进行拼接,获得第二次拼接后的拼接数据;将第二次拼接后的拼接数据同步至目标数据库。
图3示意性示出了根据本发明的一个实施例的进行拼接数据的示意图。
参照图3所示,根据本发明的一个实施例的进行拼接数据包括:当拼接处理的bolt拿到待进行拼接的变更数据后,获取保存在本地内存中的需要关注的属性信息,对变更数据进行必要的数据处理,处理完毕后,生成拼接对象,将对象交给下一个bolt进行拼接处理,在该bolt中进行核心的数据拼接操作,其中,数据拼接的依据是:通过各业务表中逻辑上的外键进行拼接,具体的,在数据拼接的过程中,可以将配置的信息放入到中转数据库(可以是redis等数据库)中增加获取的速度,拼接的过程中如果拼接对象1与拼接对象2有依赖的关系,需要同时进行录入目标数据库(可以是ES数据库)时,这个时候可以将先来的数据存入到中转数据库中,等到获取到后续的拼接对象时,进行拼接并同步至目标数据库,之后删除中转数据库中存储的数据;如果拼接对象之间没有相互的依赖关系,或者不需要同时进行拼接,可以分段更新到目标数据库中。
以下介绍本发明的装置实施例,可以用于执行本发明上述的数据拼接方法。
图4示意性示出了根据本发明的一个实施例的数据拼接装置的框图。
参照图4所示,根据本发明的一个实施例的数据拼接装置400,包括:
确定模块401,用于从源数据库中确定出日志文件的变更数据,将变更数据加入至消息队列;
预处理模块402,用于对消息队列中的变更数据进行预处理,确定出变更数据中的待拼接数据;
拼接模块403,用于根据预设数据库表的外键对各个待拼接数据进行拼接,将拼接后所获得的拼接数据同步至目标数据库。
在本发明的一个实施例中,上述确定模块401具体用于:
对关系型数据库中的日志文件进行实时检测,确定出日志文件中更改数据库表以及更改内容的变更数据。
在本发明的一个实施例中,上述预处理模块402具体用于:
预设的Strom集群获取消息队列中的变更数据后,分发变更数据;
根据预设的目标字段对所分发的变更数据进行识别,获得符合目标字段的变更数据;
将符合目标字段的变更数据确定为待拼接数据,并将待拼接数据进行map封装。
在本发明的一个实施例中,上述拼接模块403具体用于:
根据预设的业务表外键判断各个待拼接数据之间的关联关系;
将所确定出有关联关系的待拼接数据进行拼接,获得拼接数据;
将拼接数据同步至目标数据库。
在本发明的一个实施例中,上述拼接模块403还用于:
判断拼接数据是否需要继续拼接;
当确定拼接数据需要继续拼接后,将拼接数据导入至中转数据库中,并检测是否获取需要继续拼接的待拼接数据;
当获取需要继续拼接的待拼接数据后,将中转数据库中的拼接数据取出与需要继续拼接的待拼接数据进行拼接,获得第二次拼接后的拼接数据;
将第二次拼接后的拼接数据同步至目标数据库。
由于本发明的示例实施例的数据拼接装置的各个功能模块与上述第一方面的数据拼接方法的示例实施例的步骤对应,因此对于本发明装置实施例中未披露的细节,请参照本发明上述的第一方面的数据拼接方法。
下面参考图5,其示出了适于用来实现本发明实施例的电子设备的计算机系统500的结构示意图。图5示出的电子设备的计算机系统500仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图5所示,计算机系统500包括中央处理单元(CPU)501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储部分508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。在RAM 503中,还存储有系统操作所需的各种程序和数据。CPU501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
以下部件连接至I/O接口505:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。
特别地,根据本发明的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。在该计算机程序被中央处理单元(CPU)501执行时,执行本申请的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现如上述实施例中的数据拼接方法。
例如,上述的电子设备可以实现如图1中所示的:步骤S110,从源数据库中确定出日志文件的变更数据,将变更数据加入至消息队列;步骤S120,对消息队列中的变更数据进行预处理,确定出变更数据中的待拼接数据;步骤130,根据预设数据库表的外键对各个待拼接数据进行拼接,将拼接后所获得的拼接数据同步至目标数据库。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本发明实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

Claims (11)

1.一种数据拼接方法,其特征在于,包括:
从源数据库中确定出日志文件的变更数据,将所述变更数据加入至消息队列;
对所述消息队列中的变更数据进行预处理,确定出所述变更数据中的待拼接数据;
根据预设数据库表的外键对各个所述待拼接数据进行拼接,将拼接后所获得的拼接数据同步至目标数据库;
其中,对所述消息队列中的变更数据进行预处理,确定出所述变更数据中的待拼接数据包括:
预设的Storm集群获取所述消息队列中的变更数据后,分发所述变更数据;
根据预设的目标字段对所分发的变更数据进行识别,获得符合所述目标字段的变更数据;
将所述符合所述目标字段的变更数据确定为所述待拼接数据,并将所述待拼接数据进行map封装。
2.根据权利要求1所述的数据拼接方法,其特征在于,所述从源数据库中确定出日志文件的变更数据包括:
对关系型数据库中的日志文件进行实时检测,确定出所述日志文件中更改数据库表以及更改内容的变更数据。
3.根据权利要求1所述的数据拼接方法,其特征在于,所述根据预设数据库表的外键对各个所述待拼接数据进行拼接,将拼接后所获得的拼接数据同步至目标数据库包括:
根据所述预设的业务表外键判断各个所述待拼接数据之间的关联关系;
将所确定出有关联关系的待拼接数据进行拼接,获得拼接数据;
将所述拼接数据同步至目标数据库。
4.根据权利要求3所述的数据拼接方法,其特征在于,所述方法还包括:
判断所述拼接数据是否需要继续拼接;
当确定所述拼接数据需要继续拼接后,将所述拼接数据导入至中转数据库中,并检测是否获取需要继续拼接的待拼接数据;
当获取需要继续拼接的待拼接数据后,将所述中转数据库中的拼接数据取出与所述需要继续拼接的待拼接数据进行拼接,获得第二次拼接后的拼接数据;
将所述第二次拼接后的拼接数据同步至目标数据库。
5.一种数据拼接装置,没其特征在于,包括:
确定模块,用于从源数据库中确定出日志文件的变更数据,将所述变更数据加入至消息队列;
预处理模块,用于对所述消息队列中的变更数据进行预处理,确定出所述变更数据中的待拼接数据;
拼接模块,用于根据预设数据库表的外键对各个所述待拼接数据进行拼接,将拼接后所获得的拼接数据同步至目标数据库;
其中,所述预处理模块设置为:
预设的Storm集群获取所述消息队列中的变更数据后,分发所述变更数据;
根据预设的目标字段对所分发的变更数据进行识别,获得符合所述目标字段的变更数据;
将所述符合所述目标字段的变更数据确定为所述待拼接数据,并将所述待拼接数据进行map封装。
6.根据权利要求5所述的数据拼接装置,没其特征在于,所述确定模块具体用于:
对关系型数据库中的日志文件进行实时检测,确定出所述日志文件中更改数据库表以及更改内容的变更数据。
7.根据权利要求5所述的数据拼接装置,没其特征在于,所述预处理模块具体用于:
预设的Storm集群获取所述消息队列中的变更数据后,分发所述变更数据;
根据预设的目标字段对所分发的变更数据进行识别,获得符合所述目标字段的变更数据;
将所述符合所述目标字段的变更数据确定为所述待拼接数据,并将所述待拼接数据进行map封装。
8.根据权利要求5所述的数据拼接装置,没其特征在于,所述拼接模块具体用于:
根据所述预设的业务表外键判断各个所述待拼接数据之间的关联关系;
将所确定出有关联关系的待拼接数据进行拼接,获得拼接数据;
将所述拼接数据同步至目标数据库。
9.根据权利要求5所述的数据拼接装置,没其特征在于,所述拼接模块还用于:
判断所述拼接数据是否需要继续拼接;
当确定所述拼接数据需要继续拼接后,将所述拼接数据导入至中转数据库中,并检测是否获取需要继续拼接的待拼接数据;
当获取需要继续拼接的待拼接数据后,将所述中转数据库中的拼接数据取出与所述需要继续拼接的待拼接数据进行拼接,获得第二次拼接后的拼接数据;
将所述第二次拼接后的拼接数据同步至目标数据库。
10.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1至4中任一项所述的数据拼接方法。
11.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至4中任一项所述的数据拼接方法。
CN201810975664.8A 2018-08-24 2018-08-24 一种数据拼接方法、装置、介质及电子设备 Active CN110895534B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810975664.8A CN110895534B (zh) 2018-08-24 2018-08-24 一种数据拼接方法、装置、介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810975664.8A CN110895534B (zh) 2018-08-24 2018-08-24 一种数据拼接方法、装置、介质及电子设备

Publications (2)

Publication Number Publication Date
CN110895534A CN110895534A (zh) 2020-03-20
CN110895534B true CN110895534B (zh) 2024-09-20

Family

ID=69784800

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810975664.8A Active CN110895534B (zh) 2018-08-24 2018-08-24 一种数据拼接方法、装置、介质及电子设备

Country Status (1)

Country Link
CN (1) CN110895534B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112035566B (zh) * 2020-11-04 2021-02-23 长沙树根互联技术有限公司 数据调用方法、装置、电子设备和存储介质
CN112667686B (zh) * 2020-12-30 2024-07-05 中国农业银行股份有限公司 一种实时流数据拼接方法及装置
CN113095874B (zh) * 2021-03-31 2024-06-21 北京沃东天骏信息技术有限公司 一种物料增量处理方法、装置、设备和存储介质
CN113627998A (zh) * 2021-08-17 2021-11-09 北京沃东天骏信息技术有限公司 订单数据处理方法、装置、电子设备和计算机可读介质
CN116070601B (zh) * 2023-03-28 2023-06-13 联仁健康医疗大数据科技股份有限公司 数据拼接方法、装置、电子设备及存储介质
CN116821245A (zh) * 2023-07-05 2023-09-29 贝壳找房(北京)科技有限公司 分布式场景下数据聚合同步方法及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106250543A (zh) * 2016-08-10 2016-12-21 深圳市彬讯科技有限公司 一种自动化数据查询同步存储方法
CN107103448A (zh) * 2016-02-23 2017-08-29 上海御行信息技术有限公司 基于工作流的数据集成系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107544984B (zh) * 2016-06-27 2020-07-31 北京京东尚科信息技术有限公司 一种数据处理的方法和装置
CN107783975B (zh) * 2016-08-24 2021-02-26 北京京东尚科信息技术有限公司 分布式数据库同步处理的方法和装置
US11853529B2 (en) * 2016-11-07 2023-12-26 Tableau Software, Inc. User interface to prepare and curate data for subsequent analysis
CN108073625B (zh) * 2016-11-14 2021-03-30 北京京东尚科信息技术有限公司 用于元数据信息管理的系统及方法
CN107169033B (zh) * 2017-04-17 2020-03-31 东北大学 基于数据模式转换和并行框架的关系数据查询优化方法
CN107169069B (zh) * 2017-05-08 2020-01-07 山大地纬软件股份有限公司 分布式分级抽取多应用方法和数据抽取应用器

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107103448A (zh) * 2016-02-23 2017-08-29 上海御行信息技术有限公司 基于工作流的数据集成系统
CN106250543A (zh) * 2016-08-10 2016-12-21 深圳市彬讯科技有限公司 一种自动化数据查询同步存储方法

Also Published As

Publication number Publication date
CN110895534A (zh) 2020-03-20

Similar Documents

Publication Publication Date Title
CN110895534B (zh) 一种数据拼接方法、装置、介质及电子设备
CN111427971B (zh) 用于计算机系统的业务建模方法、装置、系统和介质
CN110019263B (zh) 信息存储方法和装置
CN109522751B (zh) 访问权限控制方法、装置、电子设备及计算机可读介质
CN111858615A (zh) 数据库表生成方法、系统、计算机系统和可读存储介质
CN112597126B (zh) 一种数据迁移方法和装置
CN110704833A (zh) 数据权限配置方法、设备、电子设备及存储介质
CN111241189B (zh) 一种同步数据的方法和装置
CN116450622B (zh) 数据入库的方法、装置、设备和计算机可读介质
CN110928594A (zh) 服务开发方法和平台
CN117557394A (zh) 智能对账方法、系统、设备及储存介质
CN109683942B (zh) 脚本管理方法、装置、介质及电子设备
CN110674082A (zh) 移除在线文档的方法、装置、电子设备及计算机可读介质
CN111984686A (zh) 一种数据处理的方法和装置
CN116069725A (zh) 文件迁移方法、装置、设备、介质和程序产品
CN108959309B (zh) 数据分析的方法和装置
CN113760240A (zh) 一种生成数据模型的方法和装置
CN112182080A (zh) 数据集成系统和基于数据集成系统的数据处理方法
US11842077B2 (en) Method, device, and computer program product for transmitting data for object storage
CN114285743B (zh) 更新配置信息的方法、装置、电子设备及存储介质
CN117827842B (zh) 基于hana数据库的业务场景数据建模的异常检测方法和系统
CN113778978B (zh) 一种大数据质量管控方法和装置
CN113326245B (zh) 切换地图服务的方法、装置、设备和计算机可读介质
CN110262756B (zh) 用于缓存数据的方法和装置
CN118820287A (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
GR01 Patent grant