【算法】内外网数据发布的设计思路

来源:互联网 发布:linux查询用户所属组 编辑:程序博客网 时间:2024/05/16 18:50

[案例]
之前单位做的一个健康评估管理系统,应用环境是内外网物理隔离的,但是数据又要发布到外网供用户访问。所以这里涉及到数据的发布更新问题。最近反映数据文件上传后,在处理数据更新时总得不到处理结果。上传文件通过网页来实现,后台进行数据处理,数据文件比较大,后台涉及到数据导入、更新处理等操作,数据处理环节又时候后要半个多小时。
这个更新应该如何设计才最合理呢?
[设计思路]
之前的设计思路是文件上传和更新都集中在一个方法内实现。这样需要WEB支持长时间响应,对性能肯定有影响。
我感觉应该可以把文件上传、处理、结果查查询分开处理。数据的更新处理通过单独的程序后台处理,然后创建一张更新任务表,包括任务编号、数据文件名、上传时间、处理状态、处理结果等信息。
思路如下:
1.考虑到文件可能比较大,通过断点方式续传实现上传。上传完毕后进行文件完整性验证。然后将数据文件名和上传时间等信息写入到更新任务表中,处理状态默认未待处理状态。
然后页面就可以跳转到对更新计划表的查询页面了。
2.web服务器部署个windows服务,定时读取更新任务表中处理状态为未处理的任务,然后进行数据的导入,导入完毕后依次调用相应的存储过程进行数据合并处理。其中每一个环节,都将处理时间以及处理过程最加到更新任务表的处理结果字段中,如果出现异常,则将相应的时间和异常信息最佳到更新任务表的处理结果字段中,并设置处理状态。
3.页面上定时读取更新计划表的信息,了解目前本次数据发布的处理进展。

原创粉丝点击