单线程数据读取分发的跑批方法、装置、设备及存储介质制造方法及图纸

技术编号:34487210 阅读:14 留言:0更新日期:2022-08-10 09:05
本发明专利技术涉及人工智能技术,揭露了一种单线程数据读取分发的跑批方法,包括:配置批量读取大小,初始化数据中心,并展示已经跑批处理成功的数据集合;初始化读取线程和工作线程池;通过读取线程读取数据行,直至读取到批量读取大小条数据行或者将源文件读取完成,并判断被读取的数据行是否在数据集合中;当被读取的数据行在数据集合中时,跳过数据行;否则将数据行传送至工作线程池;对工作线程池中的数据进行跑批处理,并将该数据的行号区间同步到数据中心。此外,本发明专利技术还涉及区块链技术,待跑批的源文件可存储于区块链的节点。本发明专利技术还提出一种单线程数据读取分发的跑批装置、设备以及存储介质。本发明专利技术可以提高文件跑批的效率。本发明专利技术可以提高文件跑批的效率。本发明专利技术可以提高文件跑批的效率。

【技术实现步骤摘要】
单线程数据读取分发的跑批方法、装置、设备及存储介质


[0001]本专利技术涉及人工智能
,尤其涉及一种单线程数据读取分发的跑批方法、装置、设备及存储介质。

技术介绍

[0002]随着人们生活的数字化,越来越多的企业构建了配套的大型系统,但为了给客户更好的使用体验,提升系统的处理效率,需要构建相应的系统数据读取方案,以进行文件跑批。
[0003]现有的跑批管理多采用SpringBacth框架进行文件读取的管理,进而对文件跑批,例如,对于一个大文件的读取,需要将该大文件切分成若干个小文件,并将小文件平均分配给若干个线程进行读取,实际应用中,需要对大文件进行预先读取才能进行切分,这就造成了文件读取中至少需要进行两次重复地读取,从而导致进行文件跑批的效率较低。

技术实现思路

[0004]本专利技术提供一种单线程数据读取分发的跑批方法、装置、设备及存储介质,其主要目的在于解决进行文件跑批的效率较低的问题。
[0005]为实现上述目的,本专利技术提供的一种单线程数据读取分发的跑批方法,包括:
[0006]配置批量读取大小,并初始化数据中心,根据所述数据中心展示已经跑批处理成功的数据集合;
[0007]初始化读取线程,并初始化工作线程池;
[0008]通过所述读取线程从前往后逐条读取预设的源文件中的数据行,并判断被读取的数据行是否在所述数据集合中;
[0009]当所述被读取的数据行在所述数据集合中时,跳过所述数据行,并返回通过所述读取线程从前往后逐条读取预设的源文件中的数据行的步骤,直至读取到批量读取大小条数据行或者将所述源文件读取完成;
[0010]当所述被读取的数据行不在所述数据集合中时,将所述数据行以及所述数据行的行号传送至所述工作线程池,并返回通过所述读取线程从前往后逐条读取预设的源文件中的数据行的步骤,直至读取到批量读取大小条数据行或者将所述源文件读取完成;
[0011]按照预设的程序逻辑逐条对所述工作线程池中的数据进行跑批处理,并将跑批处理后的数据的行号区间同步到所述数据中心。
[0012]可选地,所述根据所述数据中心展示已经跑批处理成功的数据集合,包括:
[0013]初始化所述展示页面的跑批进度条;
[0014]初始化跑批计时器与预计结束时间;
[0015]轮询获取所述数据中心中已经跑批完成的数据集合的集合区间,根据所述集合区间和所述跑批计时器配置所述展示页面初始化后的跑批进度条和预计结束时间。
[0016]可选地,所述初始化所述展示页面的跑批进度条,包括:
[0017]导入预设的绘图包与预设的数据接口;
[0018]通过所述绘图包配置所述跑批进度条的框架和进度动画;
[0019]通过所述数据接口将所述进度动画与所述跑批进度条的百分比进行关联。
[0020]可选地,所述轮询获取所述数据中心中已经跑批完成的数据集合的集合区间,根据所述集合区间和所述跑批计时器配置所述展示页面初始化后的跑批进度条和预计结束时间,包括:
[0021]轮询获取已经跑批完成的数据集合的集合区间,得到跑批完成的数据行的行数;
[0022]根据预先获取的源文件的数据行的总行数与所述跑批完成的数据行的行数计算得到跑批进度的百分比;
[0023]根据所述跑批进度的百分比更新所述展示页面的跑批进度条;
[0024]根据所述跑批进度的百分比与所述跑批计时器计算得到预计结束时间。
[0025]可选地,所述判断被读取的数据行是否在所述数据集合中,包括:
[0026]获取被读取的数据行的行号;
[0027]通过预设的数字范围工具类将所述数据集合的集合区间与所述数据行的行号转化为可计算的表达式;
[0028]通过所述表达式的返回值判断所述判断被读取的数据行是否在所述数据集合中。
[0029]可选地,所述将跑批处理后的数据的行号区间同步到所述数据中心,包括:
[0030]通过预设的排序算法将跑批处理后的数据的行号区间与所述集合区间进行排序;
[0031]判断所述行号区间与所述集合区间是否相邻;
[0032]当所述行号区间与所述集合区间相邻时,将所述行号区间与所述集合区间进行合并,并将合并后的集合区间插入数据中心;
[0033]当所述行号区间与所述集合区间不相邻时,将所述行号区间作为新的集合区间插入数据中心。
[0034]可选地,所述通过预设的排序算法对所述行号区间与所述数据中心的集合区间进行排序包括:
[0035]判断所述集合区间的数量是否大于预设的第一阈值;
[0036]当所述集合区间的数量小于预设的第一阈值时,使用插入排序算法对所述行号区间与所述集合区间进行排序;
[0037]当所述集合区间的数量大于或等于预设的第一阈值时,对所述行号区间与所述集合区间进行分段处理,并判断分段后的区间段数量是否大于预设的第二阈值;
[0038]当所述区间段数量大于或等于预设的第二阈值时,使用堆排序算法对分段后的行号区间与集合区间进行排序;
[0039]当所述区间段数量小于预设的第二阈值时,使用插入排序对分段后的行号区间与集合区间进行排序。
[0040]为了解决上述问题,本专利技术还提供一种单线程数据读取分发的跑批装置,所述装置包括:
[0041]跑批进度展示模块,用于配置批量读取大小,并初始化数据中心,根据所述数据中心展示已经跑批处理成功的数据集合;
[0042]线程初始化模块,用于初始化读取线程,并初始化工作线程池;
[0043]重复读取判断模块,用于通过所述读取线程从前往后逐条读取预设的源文件中的数据行,并判断被读取的数据行是否在所述数据集合中;
[0044]第一批量读取模块,用于处理当所述被读取的数据行在所述数据集合中时,跳过所述数据行,并返回通过所述读取线程从前往后逐条读取预设的源文件中的数据行的步骤,直至读取到批量读取大小条数据行或者将所述源文件读取完成;
[0045]第二批量读取模块,用于处理当所述被读取的数据行不在所述数据集合中时,将所述数据行以及所述数据行的行号传送至所述工作线程池,并返回通过所述读取线程从前往后逐条读取预设的源文件中的数据行的步骤,直至读取到批量读取大小条数据行或者将所述源文件读取完成;
[0046]行号区间同步模块,用于按照预设的程序逻辑逐条对所述工作线程池中的数据进行跑批处理,并将跑批处理后的数据的行号区间同步到所述数据中心。
[0047]为了解决上述问题,本专利技术还提供一种设备,所述设备包括:
[0048]至少一个处理器;以及,
[0049]与所述至少一个处理器通信连接的存储器;其中,
[0050]所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述所述的单线程数据读取分发的跑批方法。
[0051]为了解决上述问题本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种单线程数据读取分发的跑批方法,其特征在于,所述方法包括:配置批量读取大小,并初始化数据中心,根据所述数据中心展示已经跑批处理成功的数据集合;初始化读取线程,并初始化工作线程池;通过所述读取线程从前往后逐条读取预设的源文件中的数据行,并判断被读取的数据行是否在所述数据集合中;当所述被读取的数据行在所述数据集合中时,跳过所述数据行,并返回通过所述读取线程从前往后逐条读取预设的源文件中的数据行的步骤,直至读取到批量读取大小条数据行或者将所述源文件读取完成;当所述被读取的数据行不在所述数据集合中时,将所述数据行以及所述数据行的行号传送至所述工作线程池,并返回通过所述读取线程从前往后逐条读取预设的源文件中的数据行的步骤,直至读取到批量读取大小条数据行或者将所述源文件读取完成;按照预设的程序逻辑逐条对所述工作线程池中的数据进行跑批处理,并将跑批处理后的数据的行号区间同步到所述数据中心。2.如权利要求1所述的单线程数据读取分发的跑批方法,其特征在于,所述根据所述数据中心展示已经跑批处理成功的数据集合,包括:初始化所述展示页面的跑批进度条;初始化跑批计时器与预计结束时间;轮询获取所述数据中心中已经跑批完成的数据集合的集合区间,根据所述集合区间和所述跑批计时器配置所述展示页面初始化后的跑批进度条和预计结束时间。3.如权利要求2所述的单线程数据读取分发的跑批方法,其特征在于,所述初始化所述展示页面的跑批进度条,包括:导入预设的绘图包与预设的数据接口;通过所述绘图包配置所述跑批进度条的框架和进度动画;通过所述数据接口将所述进度动画与所述跑批进度条的百分比进行关联。4.如权利要求2所述的单线程数据读取分发的跑批方法,其特征在于,所述轮询获取所述数据中心中已经跑批完成的数据集合的集合区间,根据所述集合区间和所述跑批计时器配置所述展示页面初始化后的跑批进度条和预计结束时间,包括:轮询获取已经跑批完成的数据集合的集合区间,得到跑批完成的数据行的行数;根据预先获取的源文件的数据行的总行数与所述跑批完成的数据行的行数计算得到跑批进度的百分比;根据所述跑批进度的百分比更新所述展示页面的跑批进度条;根据所述跑批进度的百分比与所述跑批计时器计算得到预计结束时间。5.如权利要求1所述的单线程数据读取分发的跑批方法,其特征在于,所述判断被读取的数据行是否在所述数据集合中,包括:获取被读取的数据行的行号;通过预设的数字范围工具类将所述数据集合的集合区间与所述数据行的行号转化为可计算的表达式;通过所述表达式的返回值判断所述判断被读取的数据行是否在所述数据集合中。
6.如权利要求1所述的单线程数据读取分发的跑批方法,其特征在于,所述将跑批处理后的数据的行号区间同步到所述数据中心,包括:通过预...

【专利技术属性】
技术研发人员:刘杰
申请(专利权)人:平安普惠企业管理有限公司
类型:发明
国别省市:

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

1