CN112434016A - 通用型千亿级数据异构迁移方法、装置及设备 - Google Patents

通用型千亿级数据异构迁移方法、装置及设备 Download PDF

Info

Publication number
CN112434016A
CN112434016A CN202011448493.7A CN202011448493A CN112434016A CN 112434016 A CN112434016 A CN 112434016A CN 202011448493 A CN202011448493 A CN 202011448493A CN 112434016 A CN112434016 A CN 112434016A
Authority
CN
China
Prior art keywords
data
source
database
target
extraction
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
Application number
CN202011448493.7A
Other languages
English (en)
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.)
Shanghai Zhongtongji Network Technology Co Ltd
Original Assignee
Shanghai Zhongtongji Network 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 Shanghai Zhongtongji Network Technology Co Ltd filed Critical Shanghai Zhongtongji Network Technology Co Ltd
Priority to CN202011448493.7A priority Critical patent/CN112434016A/zh
Publication of CN112434016A publication Critical patent/CN112434016A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/214Database migration support

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种通用型千亿级数据异构迁移方法、装置及设备,属于数据存储技术领域,基于预设抽取规则,在源数据库中抽取源数据;在源数据需要补全时,调用域内dubbo接口进行数据补全,获取目标数据;获取目标数据库的数据模型,将目标数据转换为数据模型,写入目标数据库。本发明通过抽取的源数据通过消息分发,使得数据抽取、数据加工、数据落地异步化,提升了数据迁移工作的稳定性及效率,同时,消息分发具有多重补偿机制,防止了数据丢失。

Description

通用型千亿级数据异构迁移方法、装置及设备
技术领域
本发明属于数据存储技术领域,具体涉及一种通用型千亿级数据异构迁移方法、装置及设备。
背景技术
随着科技的进步,目前,互联网公司普遍有千亿级的数据源,在数据库性能需要提升,或者数据源需要异构时,无法将原有数据做到高速高效的异构迁移。而在使用现有的异构数据工具时,又无法很好的切合本公司的业务需求,需要二次开发,无法直接使用。例如,现有技术中的异构数据源离线同步工具Data X,致力于实现包括关系型数据库(MySQL、Oracle等)、HDFS、Hive、ODPS、HBase、FTP等各种异构数据源之间稳定高效的数据同步功能。但是,不支持对读取后的数据进行复杂加工(如:elasticsearch 5.x和7.x索引结构发生了变化)、不支持对读取后的数据再进行接口调用补全功能、不支持数据抽取写入的异步化处理、不支持数据迁移的流程控制、不支持补偿等,给使用带来了不便。
发明内容
为了至少解决现有技术存在的上述问题,本发明提供了一种通用型千亿级数据异构迁移方法、装置及设备。
本发明提供的技术方案如下:
一方面,一种通用型千亿级数据异构迁移方法,包括:
基于预设抽取规则,在源数据库中抽取源数据;
在所述源数据需要补全时,调用域内dubbo接口进行数据补全,获取目标数据;
获取目标数据库的数据模型,将所述目标数据转换为所述数据模型,写入所述目标数据库。
可选的,还包括:
接收配置请求,通过配置中心对所述源数据库的源数据抽取配置进行修订。
可选的,所述将所述目标数据转换为所述数据模型,写入所述目标数据库,还包括:若写入所述目标数据失败,则重复进行写入所述目标数据库。
可选的,所述基于预设抽取规则,在源数据库中抽取源数据,包括:获取抽取指令,根据所述抽取指令,在源数据库中抽取源数据;所述抽取指令中,携带抽取信息,所述抽取信息,包括抽取开关、起止时间、时间分片值、单次获取数量、抽取表信息。
可选的,所述基于预设抽取规则,在源数据库中抽取源数据,包括:基于缓存技术,将抽取到的源数据分片落地,读取偏移初始化到Redis中;
多线程读取之前偏移量加1,并维护到Redis;
从Redis中读取偏移量,计算当前起始时间,从所述数据库中流式读取指定分片的源数据。
可选的,所述获取目标数据,包括:
通过多线程消费,进行数据补全,获取目标数据。
又一方面,一种通用型千亿级数据异构迁移装置,包括:源数据抽取模块、补全模块和异构落库模块;
所述源数据抽取模块,用于基于预设抽取规则,在源数据库中抽取源数据;
所述补全模块,用于在所述源数据需要补全时,调用域内dubbo接口进行数据补全,获取目标数据;
所述异构落库模块,用于获取目标数据库的数据模型,将所述目标数据转换为所述数据模型,写入所述目标数据库。
可选的,还包括:配置服务模块;所述配置服务模块,用于接收配置请求,通过配置中心对所述源数据库的源数据抽取配置进行修订。
可选的,所述异构落库模块,还用于:若写入所述目标数据失败,则重复进行写入所述目标数据库。
又一方面,一种通用型千亿级数据异构迁移设备,包括:处理器,以及与所述处理器相连接的存储器;
所述存储器用于存储计算机程序,所述计算机程序至少用于执行上述任一项所述的通用型千亿级数据异构迁移方法;
所述处理器用于调用并执行所述存储器中的所述计算机程序。
本发明的有益效果为:
本发明实施例提供的通用型千亿级数据异构迁移方法、装置及设备,通过抽取的源数据通过消息分发,使得数据抽取、数据加工、数据落地异步化,提升了数据迁移工作的稳定性及效率,同时,消息分发具有多重补偿机制,防止了数据丢失。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种通用型千亿级数据异构迁移方法流程示意图;
图2为本发明实施例提供的一种具体通用型千亿级数据异构迁移方法流程示意图;
图3为本发明实施例提供的一种通用型千亿级数据异构迁移装置结构示意图;
图4为本发明实施例提供的一种通用型千亿级数据异构迁移设备结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将对本发明的技术方案进行详细的描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本发明所保护的范围。
在现有技术中,现在异构数据工具不支持自定义读取数据方式,也不支持读取后数据补全等扩展功能,可扩展性差;现在异构数据工具二次开发难度太大,适配性差,很难满足业务需求;现有技术难以满足千亿级数据异构需求。
基于此,本发明实施例提供一种通用型千亿级数据异构迁移方法。
图1为本发明实施例提供的一种通用型千亿级数据异构迁移方法流程示意图,图2为本发明实施例提供的一种具体通用型千亿级数据异构迁移方法流程示意图。请参阅图1-2,本发明实施例提供的方法,可以包括以下步骤:
S11、基于预设抽取规则,在源数据库中抽取源数据。
例如,在一个具体的实现过程中,可以通过配置中心Apollo来实现数据抽取可配。还包括:接收配置请求,通过配置中心对源数据库的源数据抽取配置进行修订。在现有技术中,不支持对读取后的数据进行复杂加工(如:elasticsearch 5.x和7.x索引结构发生了变化),本发明实施例中,设置配置中心,支持配置数据的加工,方便适配各种业务场景。
可选的,在一些实施例中,包括:获取抽取指令,根据抽取指令,在源数据库中抽取源数据;抽取指令中,携带抽取信息,抽取信息,包括抽取开关、起止时间、时间分片值、单次获取数量、抽取表信息。
可选的,在一些实施例中,包括:基于缓存技术,将抽取到的源数据分片落地,读取偏移初始化到Redis中;多线程读取之前偏移量加1,并维护到Redis;从Redis中读取偏移量,计算当前起始时间,从数据库中流式读取指定分片的源数据。
例如,可以通过缓存技术Redis来实现数据抽取分片落地,实现抽取过程的可控,保证数据的可靠性、稳定性和可追溯性。其中,Redis(Remote Dictionary Server),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API,在本实施例中,Redis可以用于缓存存储。
S12、在源数据需要补全时,调用域内dubbo接口进行数据补全,获取目标数据。
其中,dubbo是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的RPC实现服务的输出和输入功能,可以和Spring框架无缝集成。dubbo是一款高性能、轻量级的开源Java RPC框架。在现有技术中,不支持对读取后的数据再进行接口调用补全功能,本申请中,允许用户自定义配置读取数据后的各种额外的操作,包括不限于补全等功能。
S13、获取目标数据库的数据模型,将目标数据转换为数据模型,写入目标数据库。
还包括:若写入目标数据失败,则重复进行写入目标数据库。
例如,为了提升数据异构迁移效率和准确率,可以在写入目标数据失败后,支持重试。
包括:通过多线程消费,进行数据补全,获取目标数据。
例如,本实施例中,可以公告多线程消费进行数据的补全、转换等自定义异构操作,最终实现异构落库。其中,通过分布式服务框架实现扩展功能的调用实现。
本发明实施例提供的通用型千亿级数据异构迁移方法,通过抽取的源数据通过消息分发,使得数据抽取、数据加工、数据落地异步化,提升了数据迁移工作的稳定性及效率,同时,消息分发具有多重补偿机制,防止了数据丢失。
基于一个总的发明构思,本发明实施例还提供一种通用型千亿级数据异构迁移装置。
图3为本发明实施例提供的一种通用型千亿级数据异构迁移装置结构示意图,请参阅图3,本发明实施例提供的装置,可以包括以下结构:源数据抽取模块31、补全模块32和异构落库模块33;
源数据抽取模块31,用于基于预设抽取规则,在源数据库中抽取源数据;
补全模块32,用于在源数据需要补全时,调用域内dubbo接口进行数据补全,获取目标数据;
异构落库模块33,用于获取目标数据库的数据模型,将目标数据转换为数据模型,写入目标数据库。
可选的,还包括:配置服务模块34;配置服务模块34,用于接收配置请求,通过配置中心对源数据库的源数据抽取配置进行修订。
可选的,异构落库模块,还用于:若写入目标数据失败,则重复进行写入目标数据库。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本发明实施例提供的通用型千亿级数据异构迁移装置,通过抽取的源数据通过消息分发,使得数据抽取、数据加工、数据落地异步化,提升了数据迁移工作的稳定性及效率,同时,消息分发具有多重补偿机制,防止了数据丢失。
基于一个总的发明构思,本发明实施例还提供一种通用型千亿级数据异构迁移设备。
图4为本发明实施例提供的一种通用型千亿级数据异构迁移设备结构示意图,请参阅图4,本发明实施例提供的一种通用型千亿级数据异构迁移设备,包括:处理器41,以及与处理器相连接的存储器42。
存储器42用于存储计算机程序,计算机程序至少用于上述任一实施例记载的通用型千亿级数据异构迁移方法;
处理器41用于调用并执行存储器中的计算机程序。
本发明实施例的有益效果包括:通过配置中心实现数据分片、数据异构等多个步骤的灵活可配,扩展性好,适应性强,适合各种业务场景,各种技术类型,方便实用。本发明通过消息分发及消费,实现了数据迁移过程中的异步剥离,加强了可靠性,提高了效率。本发明支持各种数据源异构迁移为多种数据结构,通过技术为不同的业务场景赋能。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。
需要说明的是,在本发明的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是指至少两个。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (10)

1.一种通用型千亿级数据异构迁移方法,其特征在于,包括:
基于预设抽取规则,在源数据库中抽取源数据;
在所述源数据需要补全时,调用域内dubbo接口进行数据补全,获取目标数据;
获取目标数据库的数据模型,将所述目标数据转换为所述数据模型,写入所述目标数据库。
2.根据权利要求1所述的方法,其特征在于,还包括:
接收配置请求,通过配置中心对所述源数据库的源数据抽取配置进行修订。
3.根据权利要求1所述的方法,其特征在于,所述将所述目标数据转换为所述数据模型,写入所述目标数据库,还包括:若写入所述目标数据失败,则重复进行写入所述目标数据库。
4.根据权利要求1所述的方法,其特征在于,所述基于预设抽取规则,在源数据库中抽取源数据,包括:获取抽取指令,根据所述抽取指令,在源数据库中抽取源数据;所述抽取指令中,携带抽取信息,所述抽取信息,包括抽取开关、起止时间、时间分片值、单次获取数量、抽取表信息。
5.根据权利要求4所述的方法,其特征在于,所述基于预设抽取规则,在源数据库中抽取源数据,包括:基于缓存技术,将抽取到的源数据分片落地,读取偏移初始化到Redis中;
多线程读取之前偏移量加1,并维护到Redis;
从Redis中读取偏移量,计算当前起始时间,从所述数据库中流式读取指定分片的源数据。
6.根据权利要求1所述的方法,其特征在于,所述获取目标数据,包括:
通过多线程消费,进行数据补全,获取目标数据。
7.一种通用型千亿级数据异构迁移装置,其特征在于,包括:源数据抽取模块、补全模块和异构落库模块;
所述源数据抽取模块,用于基于预设抽取规则,在源数据库中抽取源数据;
所述补全模块,用于在所述源数据需要补全时,调用域内dubbo接口进行数据补全,获取目标数据;
所述异构落库模块,用于获取目标数据库的数据模型,将所述目标数据转换为所述数据模型,写入所述目标数据库。
8.根据权利要求7所述的装置,其特征在于,还包括:配置服务模块;所述配置服务模块,用于接收配置请求,通过配置中心对所述源数据库的源数据抽取配置进行修订。
9.根据权利要求7所述的装置,其特征在于,所述异构落库模块,还用于:若写入所述目标数据失败,则重复进行写入所述目标数据库。
10.一种通用型千亿级数据异构迁移设备,其特征在于,包括:处理器,以及与所述处理器相连接的存储器;
所述存储器用于存储计算机程序,所述计算机程序至少用于执行权利要求1~6任一项所述的通用型千亿级数据异构迁移方法;
所述处理器用于调用并执行所述存储器中的所述计算机程序。
CN202011448493.7A 2020-12-11 2020-12-11 通用型千亿级数据异构迁移方法、装置及设备 Pending CN112434016A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011448493.7A CN112434016A (zh) 2020-12-11 2020-12-11 通用型千亿级数据异构迁移方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011448493.7A CN112434016A (zh) 2020-12-11 2020-12-11 通用型千亿级数据异构迁移方法、装置及设备

Publications (1)

Publication Number Publication Date
CN112434016A true CN112434016A (zh) 2021-03-02

Family

ID=74692171

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011448493.7A Pending CN112434016A (zh) 2020-12-11 2020-12-11 通用型千亿级数据异构迁移方法、装置及设备

Country Status (1)

Country Link
CN (1) CN112434016A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113204538A (zh) * 2021-04-27 2021-08-03 北京百度网讯科技有限公司 用于数据迁移的方法、装置、设备、介质和程序产品

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017092336A1 (zh) * 2015-12-01 2017-06-08 乐视控股(北京)有限公司 一种流媒体的处理方法及装置
CN108846076A (zh) * 2018-06-08 2018-11-20 山大地纬软件股份有限公司 支持接口适配的海量多源异构数据etl方法及系统
CN111581253A (zh) * 2020-05-04 2020-08-25 上海维信荟智金融科技有限公司 基于反欺诈模型的实时检测方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017092336A1 (zh) * 2015-12-01 2017-06-08 乐视控股(北京)有限公司 一种流媒体的处理方法及装置
CN108846076A (zh) * 2018-06-08 2018-11-20 山大地纬软件股份有限公司 支持接口适配的海量多源异构数据etl方法及系统
CN111581253A (zh) * 2020-05-04 2020-08-25 上海维信荟智金融科技有限公司 基于反欺诈模型的实时检测方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
唐志峰等: "《超声导波管道无损检测技术及应用》", vol. 1, 31 August 2019, 冶金工业出版社, pages: 177 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113204538A (zh) * 2021-04-27 2021-08-03 北京百度网讯科技有限公司 用于数据迁移的方法、装置、设备、介质和程序产品

Similar Documents

Publication Publication Date Title
US10528366B2 (en) Facilitating multi-inheritance within a single inheritance container-based environment
CN108965355B (zh) 用于数据传输的方法、装置及计算机可读存储介质
US9875265B2 (en) Database table format conversion based on user data access patterns in a networked computing environment
JP2022141957A (ja) メタデータのスナップショット方法及びそのスナップ装置
US10019452B2 (en) Topology aware distributed storage system
CN109491859A (zh) 针对Kubernetes集群中容器日志的收集方法
US20140157251A1 (en) Software version management
US11977532B2 (en) Log record identification using aggregated log indexes
CN111324610A (zh) 一种数据同步的方法及装置
AU2019201821B2 (en) Generating an execution script for configuration of a system
US11526475B2 (en) Code generator platform for data transformation
CN110765165B (zh) 一种跨系统数据同步处理的方法、装置及系统
CN110377580B (zh) 一种数据迁移方法、装置及设备
WO2024041022A1 (zh) 数据库表变更方法、装置、设备和存储介质
CN112988583A (zh) 数据库语法兼容性测试的方法和装置
JP2023007369A (ja) 翻訳方法、分類モデルの訓練方法、装置、デバイス及び記憶媒体
JP2023027194A (ja) 翻訳方法、装置、電子機器、可読記憶媒体、及びコンピュータープログラム
CN112434016A (zh) 通用型千亿级数据异构迁移方法、装置及设备
CN108763562A (zh) 一种基于大数据技术提升数据交换效率的构建方法
CN106528667B (zh) 读写分离的低功耗海量数据全文检索系统框架
CN111767169A (zh) 数据处理方法、装置、电子设备及存储介质
CN112905700B (zh) 一种数据同步的方法和装置及设备
CN113918254B (zh) 语言文本管理方法、装置、存储介质及电子设备
CN115757304A (zh) 一种日志存储方法、装置、系统、电子设备及存储介质
CN114968950A (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