数据导入
本模块是一个功能完备的数据导入处理框架,帮助团队聚焦数据导入业务逻辑。
功能特点
数据模板
支持 Excel 数据模板,基于 Apache POI 框架对 Excel文件进行读写操作。处理批次
提供基于处理批次的可视化管理(启动、停止、日志查看等)。排他机制
支持单实例排他机制处理,避免数据更新冲突。异步机制
基于独立线程处理,避免堵塞用户体验。数据校验
提供对输入数据的校验工具类。
处理流程全景图
通过下图可以对本框架有一个整体的理解:
- 读取任务配置,进行排他检测。
- 创建任务执行记录、读取数据文件、数据格式校验。
- 逻辑处理:数据逻辑校验、更新业务数据、反写 Exdel 数据文件(数据校验结果等)。
- 更新任务执行记录(批次)状态(执行状态、输入件数等)。
任务配置
单实例模式
单实例模式下任务只能运行一个实例,此模式可避免数据更新冲突。(未)最大挂起时间
任务超过最大挂起时间,将被停止。(未)单次处理数据件数
任务以此件数为处理单位。一个批次完成后任务相应状态会被更新。
任务执行记录(批次)信息
执行状态(处理中)
处理正在进行中。执行状态(完成
处理正常结束。执行状态(停止)
处理启动后,被手动停止。通常是因为服务器宕机、服务重启导致处理状态无法更新。执行状态(错误)
处理抛出了预期外的异常而结束。输入件数
导入数据文件中的数据件数。成功件数
成功导入数据库的数据件数。失败件数
因为无法通过数据校验(如:数据格式、唯一性)而无法导入数据库的数据件数。开始时间
处理开始时间。结束时间
处理结束时间。最后更新时间
批次各种状态被最后更新的时间。根据本属性可判断处理的死活状态,长时间不更新处理着处理异常挂起。