Web api 使用批处理导入批量数据(百万)

Web api Bulk data (million) import using Batching

我需要导入数千个 json 数据(从 UI 发布)。从 ui 将以 json 形式发布到 webapi。

我正在考虑遵循以下提到的技术设计步骤

1.Save json 数据到服务器位置上的文件 (.json) 并在数据库 table 中输入 json 文件路径,状态为新.

2.I 将开发 Window 服务作为后台服务,它将获取 json 文件、验证 json 数据并将其导入数据库 table .在处理过程中,状态将为InProcess。在处理数据时,我将使用并行任务库创建 1000 条记录的批次

3.After Successfull Processing Status 将处于 Complete 状态

这是处理数据的最佳方式吗?

是否可以使用某些模式验证 json?怎么样?

在处理、验证json 尺寸、特殊包机等时我需要注意什么

这里是我对你的问题的看法:

  • 如果是大文件,在后台进行批处理是个不错的选择,因为你不会在处理数据时阻塞用户UI。
  • 您可以使用 Windows 服务像您所说的那样进行处理。但是,我建议您检查 Hangfire。它认为它可能是您的场景的不错选择,但您必须看到它并做出决定。
  • 小心使用 PTL(并行任务库)。如果您没有良好的实践,您可能会得到比使用单一流程更糟糕的结果。检查这个 suggested link.
  • 检查另一个 link 关于 Json 模式验证。
  • 最后但同样重要的是,评估在流程完成时通知您的用户是否合适。也许是 UI 或电子邮件中的通知。