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

时间:2015-08-21 14:53:09

标签: c#-4.0 architecture json.net asp.net-web-api2

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

我正在考虑按照下面提到的Technicle设计步骤

1.将json数据保存到服务器位置的文件(.json)中,并使数据库表中的条目json文件路径为New状态。

2.我将开发Window服务作为后台服务,它将获取json文件,验证json数据并将其导入数据库表。在处理时,状态将为InProcess。在处理数据时,我将使用并行任务库

创建一批1000条记录

3.成功处理状态后将处于完成状态

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

是否可以使用某些架构验证json?怎么样?

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

1 个答案:

答案 0 :(得分:0)

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

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