一种数据动态拆分方法和装置制造方法及图纸

技术编号:28752472 阅读:13 留言:0更新日期:2021-06-09 10:17
本发明专利技术公开了数据动态拆分方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括获取业务系统数据源,基于预设的任务条件对数据源进行清洗,每得到一个清洗后的数据则将任务计数器递增;监控任务计算器,确定任务计算器大于批次数,则生成对应的批次号,直至完成对清洗后数据的批次划分;基于批次号,将清洗后的数据根据预设的映射关系分批次导出至中间表。从而,本发明专利技术的实施方式能够解决将业务数据导出至中间表时由于数据量过大造成数据库卡死的问题。据库卡死的问题。据库卡死的问题。

【技术实现步骤摘要】
一种数据动态拆分方法和装置


[0001]本专利技术涉及计算机
,尤其涉及一种数据动态拆分方法和装置。

技术介绍

[0002]在集成中间件系统中,需要将业务系统产生的数据按照一定的规则,按时、准确、完整地导出至中间表,由于中间表数量大并且每个表存储不同业务类型的数据,如果一次处理数据量过大不仅造成数据库压力大,而且不利于数据分析。
[0003]在实现本专利技术过程中,专利技术人发现现有技术中至少存在如下问题:
[0004]在现有技术中,每次集成中间件系统从业务系统抽取的业务数据量少则百万,多则千万级别,而在将业务数据导出至中间表时由于一次统计数据量过大造成数据库卡死。

技术实现思路

[0005]有鉴于此,本专利技术实施例提供一种数据动态拆分方法和装置,能够解决将业务数据导出至中间表时由于数据量过大造成数据库卡死的问题。
[0006]为实现上述目的,根据本专利技术实施例的一个方面,提供了一种数据动态拆分方法,包括获取业务系统数据源,基于预设的任务条件对数据源进行清洗,每得到一个清洗后的数据则将任务计数器递增;监控任务计算器,确定任务计算器大于批次数,则生成对应的批次号,直至完成对清洗后数据的批次划分;基于批次号,将清洗后的数据根据预设的映射关系分批次导出至中间表。
[0007]可选地,基于预设的任务条件对数据源进行清洗之前,包括:
[0008]在配置文件中设置任务条件、批次数和映射关系,并将配置文件初始化至内存中。
[0009]可选地,生成对应的批次号,包括:
[0010]获取当前时间戳,基于所述任务识别码的哈希值,拼接生成对应的批次号。
[0011]可选地,将清洗后的数据根据预设的映射关系分批次导出至中间表,包括:
[0012]利用数据集的并行运算编程模型,通过用于将数据库转换为分布式文件系统的解析器,将清洗后的数据根据预设的映射关系分批次导出至中间表。
[0013]另外,本专利技术还提供了一种数据动态拆分装置,包括获取模块,用于获取业务系统数据源,基于预设的任务条件对数据源进行清洗,每得到一个清洗后的数据则将任务计数器递增;划分模块,用于监控任务计算器,确定任务计算器大于批次数,则生成对应的批次号,直至完成对清洗后数据的批次划分;导出模块,用于基于批次号,将清洗后的数据根据预设的映射关系分批次导出至中间表。
[0014]可选地,所述获取模块基于预设的任务条件对数据源进行清洗之前,包括:
[0015]在配置文件中设置任务条件、批次数和映射关系,并将配置文件初始化至内存中。
[0016]可选地,所述划分模块生成对应的批次号,包括:
[0017]获取当前时间戳,基于所述任务识别码的哈希值,拼接生成对应的批次号。
[0018]可选地,所述导出模块将清洗后的数据根据预设的映射关系分批次导出至中间
表,包括:
[0019]利用数据集的并行运算编程模型,通过用于将数据库转换为分布式文件系统的解析器,将清洗后的数据根据预设的映射关系分批次导出至中间表。
[0020]上述专利技术中的一个实施例具有如下优点或有益效果:因为采用获取业务系统数据源,基于预设的任务条件对数据源进行清洗,每得到一个清洗后的数据则将任务计数器递增;监控任务计算器,确定任务计算器大于批次数,则生成对应的批次号,直至完成对清洗后数据的批次划分;基于批次号,将清洗后的数据根据预设的映射关系分批次导出至中间表技术手段,所以克服了将业务数据导出至中间表时由于数据量过大造成数据库卡死的技术问题,进而达到能够将数据按照指定拆分的批次数动态拆分成多个批次,可根据不同批次做数据集成及数据分析,实现数据识别智能化、减少不必要的开发工作量,提高工作效率的技术效果。
[0021]上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
[0022]附图用于更好地理解本专利技术,不构成对本专利技术的不当限定。其中:
[0023]图1是根据本专利技术第一实施例的数据动态拆分方法的主要流程的示意图;
[0024]图2是根据本专利技术第二实施例的数据动态拆分方法的主要流程的示意图;
[0025]图3是根据本专利技术实施例的数据动态拆分装置的主要模块的示意图;
[0026]图4是本专利技术实施例可以应用于其中的示例性系统架构图;
[0027]图5是适于用来实现本专利技术实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
[0028]以下结合附图对本专利技术的示范性实施例做出说明,其中包括本专利技术实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本专利技术的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
[0029]图1是根据本专利技术第一实施例的数据动态拆分方法的主要流程的示意图,如图1所示,所述数据动态拆分方法包括:
[0030]步骤S101,获取业务系统数据源,基于预设的任务条件对数据源进行清洗,每得到一个清洗后的数据则将任务计数器递增。
[0031]在一些实施例中,所述数据动态拆分方法中的任务条件、批次数和映射关系都是预先在配置文件中进行设置。进一步地,在执行步骤S101之前可以将配置文件初始化至内存中,进而在执行步骤S101之前可以解析内存中的配置文件,便可以获得任务条件、批次数和映射关系。
[0032]其中,任务条件为根据不同业务需求设置的筛选条件。批次数为一批次的数据量,可根据实际情况进行预先设置。而映射关系用于将业务系统的数据字段值按照定义的映射关系转换成中间表的字段值,支持直接映射,也支持函数映射。
[0033]需要说明的是,所述的业务系统数据源可以来自各种数据库,例如sqlserver、mysql、oracle等等。
[0034]步骤S102,监控任务计算器,确定任务计算器大于批次数,则生成对应的批次号,直至完成对清洗后数据的批次划分。
[0035]在一些实施例中,在生成对应的批次号时,可以获取当前时间戳,然后将该当前时间戳与任务识别码的哈希值进行拼接,得到批次号。
[0036]进一步地实施例,将当前时间戳与任务ID的哈希值拼接,生成批次号,从而保证在清洗的全量数据中该批次号的唯一性。
[0037]值得说明的是,如果在得到第一个清洗后的数据时便生成第一个批次号,那么在确定任务计算器大于批次数时则生成下一个批次号。如果在得到第一清洗后的数据时没有生成第一个批次号,则在确定任务计算器大于批次数时则生成本次批次号。
[0038]步骤S103,基于批次号,将清洗后的数据根据预设的映射关系分批次导出至中间表。
[0039]在一些实施例中,可以利用数据集的并行运算编程模型,通过用于将数据库转换为分布式文件系统的解析器,将清洗后的数据根据预设的映射关系分批次导出至中间表。
[0040]进一本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据动态拆分方法,其特征在于,包括:获取业务系统数据源,基于预设的任务条件对数据源进行清洗,每得到一个清洗后的数据则将任务计数器递增;监控任务计算器,确定任务计算器大于批次数,则生成对应的批次号,直至完成对清洗后数据的批次划分;基于批次号,将清洗后的数据根据预设的映射关系分批次导出至中间表。2.根据权利要求1所述的方法,其特征在于,基于预设的任务条件对数据源进行清洗之前,包括:在配置文件中设置任务条件、批次数和映射关系,并将配置文件初始化至内存中。3.根据权利要求1所述的方法,其特征在于,生成对应的批次号,包括:获取当前时间戳,基于所述任务识别码的哈希值,拼接生成对应的批次号。4.根据权利要求1-3任一所述的方法,其特征在于,将清洗后的数据根据预设的映射关系分批次导出至中间表,包括:利用数据集的并行运算编程模型,通过用于将数据库转换为分布式文件系统的解析器,将清洗后的数据根据预设的映射关系分批次导出至中间表。5.一种数据动态拆分装置,其特征在于,包括:获取模块,用于获取业务系统数据源,基于预设的任务条件对数据源进行清洗,每得到一个清洗后的数据则将任务计数器递增;划分模块,用于监控任务计算器,确定任务计算器大于...

【专利技术属性】
技术研发人员:张丽
申请(专利权)人:北京京东世纪贸易有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1