【技术实现步骤摘要】
一种基于动态配置数据库的分库分表数据抽取方法和装置
本专利技术涉及计算机
,尤其涉及一种基于动态配置数据库的分库分表数据抽取方法、装置、电子设备和计算机可读介质。
技术介绍
随着互联网用户量越来越大,原有的单库单表的数据库设计已经不能满足高并发要求。所以大部分的业务系统的数据库都已改为分库分表技术。在分库分表技术中,单表的数据量降低,并发量增加,但随之而来也会产生新的问题,数据库进行数据抽取时,原本只需要抽取一张物理表的数据,现在需要抽取几百张甚至上千张物理表的数据,但是对目的端来说还是一张表。这就对抽取过程增加了难度,不仅要抽取大量数据,而且还要进行数据合并,最终到目的端只是一张表。在实现本专利技术过程中,专利技术人发现现有技术中至少存在如下问题:分库分表数据抽取目前主要通过两种方法实现,一种是编写java代码,顺序抽取每张表的数据,然后再将其合并,这种方法实现比较复杂,不容易灵活配置,处理数据量大的任务时,易造成内存溢出。另一种是借助Hadoop(一种分布式系统基础架构),通过Oozie(Hadoop的工作流调度引擎)的Sqoop(用于在Hadoop与传 ...
【技术保护点】
1.一种基于动态配置数据库的分库分表数据抽取方法,其特征在于,包括:生成配置文件,所述配置文件包括所述数据库中每个物理表与逻辑表的对应关系和数据抽取条件;;解析所述配置文件,根据所述数据抽取条件为每个物理表生成一个抽取任务,并且把所述抽取任务放入任务池;执行所述任务池中的每个抽取任务,每个抽取任务执行后产生相应的抽取数据;合并所述抽取数据,使得从对应相同逻辑表的物理表中抽取的数据合并在一起。
【技术特征摘要】
1.一种基于动态配置数据库的分库分表数据抽取方法,其特征在于,包括:生成配置文件,所述配置文件包括所述数据库中每个物理表与逻辑表的对应关系和数据抽取条件;;解析所述配置文件,根据所述数据抽取条件为每个物理表生成一个抽取任务,并且把所述抽取任务放入任务池;执行所述任务池中的每个抽取任务,每个抽取任务执行后产生相应的抽取数据;合并所述抽取数据,使得从对应相同逻辑表的物理表中抽取的数据合并在一起。2.根据权利要求1所述的方法,其特征在于,所述配置文件还包括:物理表所在数据库的类型、物理表所在数据库用户名密码、物理表所在数据库的IP地址列表和端口信息、自定义物理表的分库分表规则。3.根据权利要求2所述的方法,其特征在于,用标签配置所述配置文件的内容。4.根据权利要求1所述的方法,其特征在于,所述抽取任务具有多线程接口。5.根据权利要求1所述的方法,其特征在于,所述任务池中的抽取任务根据预定的并发度并发执行。6.根据权利要求1所述的方法,其特征在于,由于每一个抽取任务对应一张物理表,所以在进行抽取任务时,可对所抽取的物理表标记抽取节点,所述抽取节点包括所述抽取任务执行的时间或所述物理表的数据主键。7.一种基于动态配置数据库的分库分表数据抽取装置,其特征在于,包括:配置模块,用于生成配置文件,所述配置文件包括所述数据库中每个物理表与逻辑表的对应关系和数据抽取条件;解析模块,用于解析所述配置文件,根据所述数...
【专利技术属性】
技术研发人员:王军涛,
申请(专利权)人:北京京东尚科信息技术有限公司,北京京东世纪贸易有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。